笔记:VS C++ 使用NuGut包管理器下载和使用第三方库

news2024/9/30 11:34:01

1.打开NuGet包管理器。右键你的项目---->点击“管理NuGet程序包”。

在这里插入图片描述

2.根据关键字搜索第三方库,下载和安装。安装后会有绿色的“√”。

在这里插入图片描述

3.右键你的项目—>“生成依赖项”—>“生成自定义”,点击,将弹出下面的对话框。然后点击“查看现有的”,找到对应的**.targets**文件(一般在native目录下),选择后在对话框中显示,勾选后点击确定即可。

在这里插入图片描述

通过NuGet安装ZBar

通过NuGet安装ZBar(https://www.nuget.org/packages/ZBar/1.0.0),必须使用1.0.0版本,最新的1.0.2版本无法自动生成相关的dll并且使用不了1.0.0版的dll。

ZBar描述:A C# wrapper of ZBar with target netcoreapp3.1.

库默认支持netcoreapp3.1,在.NET6环境下也能正常使用,正常情况下输出目录会自动生成lib文件夹和dll文件。

注:ZBar 1.0.0在x86平台下可正常运行,但Debug会报错,建议使用x64或AnyCPU。

查缺补漏:

netcoreapp是什么?Microsoft.NETCore.App又是什么?

netcoreapp是 .netcore的别名,就像原来的dnxcore50 。Microsoft.NETCore.App 是一些包的集合,包含.netcore的基础运行时和基础类库。

.NET Platform(平台) Standard version mapping(映射,绘制…地图,详细安排)

.NET Platform Standard versionNuGet identifier(标识符)
1.0 - 1.5netstandard1.0 - netstandard1.5

Specific(细节,详情) platform mapping(特定平台映射)

PlatformNuGet identifier
.NET Framework 2.0 - 4.6net20 - net46
.NET Corenetcoreapp
.NET Micro Frameworknetmf
Windows 8win8, netcore45
Windows 8.1win8, netcore451
Windows Phone Silverlight (8, 8.1)(Silverlight 银光<软件名>,Silver 银,银器)wp8, wp81
Windows Phone 8.1wpa8.1
Universa(普通的) Windows Platform 10uap10, netcore50
Silverlight 4, 5sl4, sl5
MonoAndroidmonoandroid
MonoTouchmonotouch
MonoMacmonomac
Xamarin(移动开发工具 创造词) iOSxamarinios
Xamarin PlayStation 3xamarinpsthree
Xamarin PlayStation 4xamarinpsfour
Xamarin PlayStation Vitaxamarinpsvita
Xamarin Watch OSxamarinwatchos
Xamarin TV OSxamarintvos
Xamarin Xbox 360xamarinxboxthreesixty
Xamarin Xbox Onexamarinxboxone

Deprecated(弃用) monikers(绰号,名字)

PlatformNuGet identifier
ASP.NET 5.0 on .NET Frameworkaspnet50
ASP.NET 5.0 on .NET Coreaspnetcore50
DNX on .NET Framework 4.5.1 - 4.6dnx451 - dnx46
DNX on .NET Core 5.0dnxcore50
Windows 8winrt

.NET Framework 与 .NET Core 的区别与联系

当今 net 生态系统如下:(日期:)
在这里插入图片描述

从上图可以看到,.NET生态系统具有三个主要的高级组件-.NET Framework,.NET Core和Xamarin。
当您想使用C#构建移动(iOS,Android和Windows Mobile)应用程序时,Xamarin是您唯一的选择。

  1. .NET Framework
    支持Windows和Web应用程序。今天,您可以使用Windows窗体,WPF和UWP在.NET Framework中构建Windows应用程序。ASP.NET MVC用于在.NET Framework中构建Web应用程序。

  2. .NET Core
    是新的开源和跨平台框​​架,可为所有操作系统(包括Windows,Mac和Linux)构建应用程序。.NET Core仅支持UWP和ASP.NET Core。UWP用于构建针对Windows和移动应用程序的Windows 10。ASP.NET Core用于构建基于浏览器的Web应用程序。

名称解释:
UWP(Universal Windows Platform)通用Windows平台
WPF(Windows Presentation<表现,介绍> Foundation<基础>)Windows 展示基础:一种基于XML、.NET Framework和向量绘图技术的展示层开发框架,被广泛用于Windows Vista的界面开发。

UWP和WPF 比较
UWP和WPF都是Microsoft的应用程序开发框架,用于构建Windows桌面应用程序,但它们有一些重要的区别和共同点。

共同点:
XAML:两者都使用XAML(可扩展应用程序标记语言)来定义用户界面,这使得界面设计与应用逻辑分离(学习了Android开发),提高了可维护性。
数据绑定:它们都支持数据绑定,可以轻松将用户界面元素与数据源关联起来。
MVVM模式:UWP和WPF都鼓励使用MVVM(Model-View-ViewModel)模式,以便更好地分离界面、应用逻辑和数据。
区别:
平台和兼容性:
UWP应用程序专门面向Windows 10及更新版本,而WPF应用程序在更早版本的Windows上也可以运行
UWP应用程序可以在各种设备上运行,包括PC、手机、平板、Xbox和HoloLens,而WPF主要面向桌面应用程序。
API和功能:
UWP提供了许多现代化的API和功能,如沙盒隔离、自动更新、Live Tiles等,这些功能在WPF中通常需要自己实现。
WPF提供了更丰富的桌面应用程序功能,如窗口自定义、Win32互操作、更多的第三方控件库等。
布局和UI设计:
UWP倾向于采用自适应布局,可以适应不同大小和方向的屏幕,适用于各种设备。
WPF通常更适合传统的桌面应用程序,对于大型台式电脑屏幕设计。
分发:
UWP应用程序可以通过Microsoft Store进行分发和更新,更容易实现自动化部署和更新。
WPF应用程序通常需要传统的安装程序和手动更新。
语言支持:
UWP主要支持C#、C++、VB.NET等,而WPF也支持更多的语言和技术,如F#、IronPython等
选择使用UWP还是WPF取决于你的项目需求和目标平台。如果你需要面向多个Windows 10设备并利用现代化功能,UWP可能更适合。如果你要构建传统的桌面应用程序,并且需要更多的自定义和控制,WPF可能是更好的选择。

.NET Framework的优势

如果您是需要快速构建和发布某些东西的.NET开发人员,而又没有时间学习.NET Core,那么.NET Framework是您的选择。.NET Core确实需要一段时间来学习。

如果要维护和升级现有的.NET应用程序,则选择.NET Framework。将现有的.NET应用程序移植到.NET Core应用程序需要一些工作。

找工作吗?现在 .NET Framework 要比 .NET Core 的工作岗位更多。

.NET Framework的当前版本4.8应该是.NET Framework的最新版本。将来将不再计划.NET Framework的新版本。

.NETCore 的优势

如果您要构建新的应用程序,并且可以在.NET Core和.NET Framework之间进行选择,那么.NET Core是您的最佳选择。

微软发布了.NET Core v 3.0,它是.NET Core的经过改进的版本。如果您想为将来学习和构建,则.NET Core是您的理想之选。

.NET 3.0现在支持WPF和Windows窗体。.NET Core 3.0还支持UWP,WPF和Windows窗体之间的交叉开发。这为开发人员提供了将UWP的现代界面引入Windows Forms和WPF的灵活性。

如果您要构建一个新的应用程序并且您的公司已经批准了该应用程序,那么.NET Core是必经之路。.NET Core将继续变得越来越好。

.NET Core更适合跨平台需求。Windows,Linux和macOS支持.NET Core应用程序。Windows,Linux和macOS均支持Microsoft流行的开源代码编辑器Visual Studio Code。VS Code支持代码编辑器的现代需求,包括IntelliSense和调试。大多数第三方编辑器(例如Sublime,Emacs和VI)都可以使用.NET Core。

.NET Core支持微服务体系结构,该体系结构允许跨平台服务与.NET Core一起使用,包括使用.NET Framework,Java,Ruby或其他开发的服务。

容器是当今的虚拟机。.NET Core的模块化,轻量级和灵活性使在容器中部署.NET Core应用程序变得更加容易。容器可以部署在任何平台,云,Linux和Windows上。.NET Core与Docker和Azure Kubernetes服务都可以很好地工作。

需要高性能和可扩展的系统。

在开发.NET Core时,性能和可伸缩性是两个主要的重点领域。根据某些基准,.NET Core和ASP.NET Core是性能最高的Web框架。

.NET Core版本可以很好地协同工作。您可以轻松地在同一台计算机上并排运行多个版本和应用程序。

C#的优势

C#是所有应用程序中用途最广泛的编程语言,并且每隔几个月就会发生变化。这些语言的每个次要发行版都引入了一些很酷的功能。当前版本的C#8.0和C#9.0引入了一些新功能,以使程序员的生活更轻松。 该语言旨在编写简洁,快速和现代的代码。该语言旨在提高生产效率 。

在.NET Core和.NET之间如何选择?

如果今天您必须在.NET Framework和.NET Core之间做出选择,请遵循以下条件。请记住,大约一年之后,您可能根本不想选择.NET Framework。

.NET的未来

.NET 5在2020年推出。.NET5将取代.NET Core,并且是.NET Framework和.NET Core的未来。.NET 5将不支持ASP.NET Web窗体,WCF或WWF。UWP在将来也不会发挥主要作用。

.NET Core 3.0中的新增的功能有哪些?

最新版本的.NET Core 3.0刚刚发布。C#8和Windows桌面是这个版本的两个主要新增部分。

C#8是C#语言的最新版本。C#8是.NET Core的一部分。C#8增加了新功能,包括

Windows桌面是.NET Core 3.0的新增功能,允许开发人员使用Windows窗体,WPF和UWP构建Windows桌面应用程序。 以下是.NET Core 3.0中的其他功能和增强功能列表,

Windows桌面的MSIX部署
MSIX是一种新的Windows应用程序包格式。它可用于将.NET Core 3.0桌面应用程序部署到Windows 10。
快速内置JSON支持
IEEE浮点改进
.NET平台依赖内在函数
依赖于框架的可执行文件支持
构建副本依赖项
装配卸载
Windows Native Interop
Linux上的TLS 1.3和OpenSSL 1.1.1
改进的密码学
适用于Linux的SerialPort
ARM64 Linux支持
GPIO支持Raspberry Pi

.NET 5.0还带来了大量的改进
微软强调了一些比较显著的变化,包括一些性能上的改进,微软之前在这里进行了探讨。 以下是这个版本的所有亮点:

.NET 5.0 已经部署到 http://dot.net 和 http://Bing.com 托管数月,已经得到了实战检验。
很多组件的性能都得到了极大的提高。.NET 5.0 中 ARM64 的性能 和 GRPC 等都有改善
C# 9和F# 5提供了新的语言改进,如C# 9的顶层程序和记录,而F# 5则提供了交互式编程和.NET上功能编程的性能提升。
.NET库对Json序列化、正则表达式和HTTP(HTTP 1.1、HTTP/2)的性能有所提升。它们现在也被完全注释为可空性。
由于GC、分层编译等方面的完善,P95延迟有所下降。
应用部署选项更好了,有了ClickOnce客户端应用发布、单文件应用、容器镜像尺寸减小,并增加了Server Core容器镜像。
平台范围扩大,增加了WindowsArm64和WebAssembly。
一个值得注意的变化是,.NET 5.0应用可以原生运行在ARM64 Windows设备上,消除了仿真带来的一些性能障碍。然而,在这个版本中,Windows 桌面组件并不能用于ARM64设备–这计划在.NET 5.0的服务更新中进行。

.net 框架图解

跨语言和跨平台是什么

跨语言:即只要是面向.NET平台的编程语言(C#、Visual Basic、C++/CLI、Eiffel、F#、IronPython、IronRuby、PowerBuilder、Visual COBOL 以及 Windows PowerShell),用其中一种语言编写的类型可以无缝地用在另一种语言编写的应用程序中的互操作性。
跨平台:一次编译,不需要任何代码修改,应用程序就可以运行在任意有.NET框架实现的平台上,即代码不依赖于操作系统,也不依赖硬件环境。

关于 .NET Core

.NET Core 具有以下特性:

跨平台: 可以在 Windows、macOS 和 Linux 操作系统上运行。
跨体系结构保持一致: 在多个体系结构(包括 x64、x86 和 ARM)上以相同的行为运行代码。
命令行工具: 包括可用于本地开发和持续集成方案中的易于使用的命令行工具。
部署灵活: 可以包含在应用或已安装的并行用户或计算机范围中。 可搭配 Docker 容器使用。
兼容性:.NET Core 通过.NET Standard与 .NET Framework、Xamarin 和 Mono 兼容。
开放源代码:.NET Core 平台是开放源代码,使用 MIT 和 Apache 2 许可证。 .NET Core 是一个 .NET Foundation 项目。
由 Microsoft 支持:.NET Core 由 Microsoft 依据 .NET Core 支持提供支持。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1413640.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vulnhub靶场DC-3

本机192.168.223.128 靶机192.168.223.139 目标发现nmap -sP 192.168.223.0/24 端口扫描nmap -p- 192.168.223.139 之开启了一个80端口 看一下是什么服务 nmap -sV -p- -A 192.168.223.139是一个apache服务&#xff0c;joomla模板 看一下web 没什么有用信息。 扫描一下后台…

黑马程序员JavaWeb开发|Maven高级

一、分模块设计与开发 分模块设计&#xff1a; 将项目按照功能拆分成若干个子模块&#xff0c;方便项目的管理维护、扩展&#xff0c;也方便模块间的相互调用&#xff0c;资源共享。 注意&#xff1a;分模块开发需要先对模块功能进行设计&#xff0c;再进行编码。不会先将工…

Python基础(二十九、pymsql)

文章目录 一、安装pymysql库二、代码实践1.连接MySQL数据库2.创建表格3.插入数据4.查询数据5.更新数据6.删除数据 三、完整代码示例四、结论 使用Python的pymysql库可以实现数据存储&#xff0c;这是一种连接MySQL数据库的方式。在本篇文章中&#xff0c;将详细介绍如何使用pym…

muduo库的模拟实现——muduo库的介绍

文章目录 一、muduo库介绍二、背景知识1.epoll2.Reactor模式 三、功能模块划分1.工具部分2.Reactor部分3.TCPServer部分 一、muduo库介绍 muduo库是在Linux环境下使用C实现的一个多Reactor多线程的高性能网络服务器&#xff0c;作者陈硕&#xff0c;他还出了一本书《Linux多线…

leetcode:二叉树的中序遍历(外加先序,后序遍历)

题外&#xff1a;另外三种遍历可以看这&#xff1a; 层序遍历&#xff1a; Leetcode:二分搜索树层次遍历-CSDN博客 先序遍历&#xff1a; 二叉树的先序&#xff0c;中序&#xff0c;后序遍历-CSDN博客 后序遍历&#xff1a; 二叉树的先序&#xff0c;中序&#xff0c;后序…

办公技巧:PPT制作技巧分享,值得收藏

目录 1、黑屏/白屏你用过么 2、图形组合替代动画刷 3、等距分布图形元素 4、快速统一字体 5、文本框也是可以改的 6、批量修改形状 7、搞定“怎么也选不中” 8、妙用CtrlD 9、图片阵列怎么做 10、临时放大某一区域 11、Word快速导入PPT 12、炫酷小人怎么做的&#…

HAL STM32基于系统滴答定时器(SysTick)实现多任务时间片轮询

HAL STM32基于系统滴答定时器&#xff08;SysTick&#xff09;实现多任务时间片轮询 &#x1f4d1;RTOS&#xff08;实时操作系统&#xff09;和定时器时间片轮询是两种不同的任务调度和执行方式的差异简介 &#x1f516; 以下部分内容&#xff0c;由AI给出的解答&#xff1a; …

中科星图——MOD11A1 V6是由Aqua中分辨率成像光谱仪获取的地表温度/发射率(LST/E)数据集

数据名称&#xff1a; MYD11A1.006 数据来源&#xff1a; NASA 时空范围&#xff1a; 2000-2022年 空间范围&#xff1a; 全国 数据简介&#xff1a; MOD11A1 V6数据集是由Aqua星搭载的中分辨率成像光谱仪获取的地表温度/发射率(LST/E)产品&#xff0c;以分片方式组织…

SpringBoot activemq收发消息、配置及原理

SpringBoot集成消息处理框架 Spring framework提供了对JMS和AMQP消息框架的无缝集成&#xff0c;为Spring项目使用消息处理框架提供了极大的便利。 与Spring framework相比&#xff0c;Spring Boot更近了一步&#xff0c;通过auto-configuration机制实现了对jms及amqp主流框架…

《动手学深度学习(PyTorch版)》笔记4.5

注&#xff1a;书中对代码的讲解并不详细&#xff0c;本文对很多细节做了详细注释。另外&#xff0c;书上的源代码是在Jupyter Notebook上运行的&#xff0c;较为分散&#xff0c;本文将代码集中起来&#xff0c;并加以完善&#xff0c;全部用vscode在python 3.9.18下测试通过。…

spring-boot-starter-validation常用注解

文章目录 一、使用二、常用注解三、Valid or Validated &#xff1f;四、分组校验1. 分组校验的基本概念2. 定义验证组3. 应用分组到模型4. 在控制器中使用分组5. 总结 一、使用 要使用这些注解&#xff0c;首先确保在你的 Spring Boot 应用的 pom.xml 文件中添加了 spring-bo…

Facebook 广告帐户:多账号运营如何防止封号?

Facebook目前是全球最受欢迎的社交媒体平台之一&#xff0c;拥有超过27亿活跃用户。因此&#xff0c;它已成为个人和企业向全球受众宣传其产品和服务的重要平台。 然而&#xff0c;Facebook 制定了广告商必须遵守的严格政策和准则&#xff0c;以确保其广告的质量和相关性&…

项目风采展示【TRDa】

桌面功能介绍&#xff1a; 1&#xff1a;支持本地音乐、三方音乐控制播放展示功能&#xff1b; 2&#xff1a;支持陀螺仪 3&#xff1a;支持蓝牙列表显示。

【QT+QGIS跨平台编译】之十二:【libpng+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

文件目录 一、libpng介绍二、文件下载三、文件分析四、pro文件五、编译实践一、libpng介绍 PNG(Portable Network Graphics,便携式网络图形),是一种采用无损压缩算法的位图格式,支持索引、灰度、RGB三种颜色方案以及Alpha通道等特性。 PNG使用从LZ77派生的无损数据压缩算…

RectMask2D的合批情况验证

1.经过实际测试&#xff0c;RectMask2D在裁剪区域完全相同且位置完全重合的情况下能够合批 但是当RectMask2D位置不重合时&#xff0c;就不能合批 注意&#xff0c;虽然此处被RectMask2D裁剪了&#xff0c;但是有部分是被渲染的&#xff0c;在计算深度时属于需要渲染…

20240126请问在ubuntu20.04.6下让GTX1080显卡让whisper工作在large模式下?

20240126请问在ubuntu20.04.6下让GTX1080显卡让whisper工作在large模式下&#xff1f; 2024/1/26 21:19 问GTX1080模式使用large该如何配置呢&#xff1f; 这个问题没有完成&#xff0c;可能需要使用使用显存更大的显卡了&#xff01; 比如GTX1080Ti 11GB&#xff0c;更猛的可…

hex 尽然可以 设置透明度,透明度参数对比图 已解决

还不知道CSS Color Module Level 4标准早在2014年就推出8位hex和4位hex来支持设置alpha值&#xff0c;以实现hex和rgba的互转。这个办法可比6位HEX转RGBA简洁多了&#xff0c;先来简单解释一下&#xff1a; 8位hex是在6位hex基础上加后两位来表示alpha值&#xff0c;00表示完全…

计算机网络——TCP协议

&#x1f4a1;TCP的可靠不在于它是否可以把数据100%传输过去&#xff0c;而是 1.发送方发去数据后&#xff0c;可以知道接收方是否收到数据&#xff1b;2.如果接收方没收到&#xff0c;可以有补救手段&#xff1b; 图1.TCP组成图 TCP的可靠性是付出代价的&#xff0c;即传输效率…

gitee仓库使用中的警告

当 Git 执行 git pull 命令时&#xff0c;有时候会出现类似下面的警告信息&#xff1a; warning: ----------------- SECURITY WARNING ---------------- warning: | TLS certificate verification has been disabled! | warning: ------------------------------------------…

光耦固态继电器在军工行业的全面应用分析

光耦固态继电器是一种集成了光耦隔离和固态继电器功能于一体的电子元件。它通过光电耦合技术实现输入和输出之间的电气隔离&#xff0c;同时利用固态开关控制输出电流。在军工行业&#xff0c;这一技术的应用正在逐渐得到广泛认可。 光耦固态继电器在军工设备中的电气隔离应用 …