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 version | NuGet identifier(标识符) |
---|---|
1.0 - 1.5 | netstandard1.0 - netstandard1.5 |
Specific(细节,详情) platform mapping(特定平台映射)
Platform | NuGet identifier |
---|---|
.NET Framework 2.0 - 4.6 | net20 - net46 |
.NET Core | netcoreapp |
.NET Micro Framework | netmf |
Windows 8 | win8, netcore45 |
Windows 8.1 | win8, netcore451 |
Windows Phone Silverlight (8, 8.1)(Silverlight 银光<软件名>,Silver 银,银器) | wp8, wp81 |
Windows Phone 8.1 | wpa8.1 |
Universa(普通的) Windows Platform 10 | uap10, netcore50 |
Silverlight 4, 5 | sl4, sl5 |
MonoAndroid | monoandroid |
MonoTouch | monotouch |
MonoMac | monomac |
Xamarin(移动开发工具 创造词) iOS | xamarinios |
Xamarin PlayStation 3 | xamarinpsthree |
Xamarin PlayStation 4 | xamarinpsfour |
Xamarin PlayStation Vita | xamarinpsvita |
Xamarin Watch OS | xamarinwatchos |
Xamarin TV OS | xamarintvos |
Xamarin Xbox 360 | xamarinxboxthreesixty |
Xamarin Xbox One | xamarinxboxone |
Deprecated(弃用) monikers(绰号,名字)
Platform | NuGet identifier |
---|---|
ASP.NET 5.0 on .NET Framework | aspnet50 |
ASP.NET 5.0 on .NET Core | aspnetcore50 |
DNX on .NET Framework 4.5.1 - 4.6 | dnx451 - dnx46 |
DNX on .NET Core 5.0 | dnxcore50 |
Windows 8 | winrt |
.NET Framework 与 .NET Core 的区别与联系
当今 net 生态系统如下:(日期:)
从上图可以看到,.NET生态系统具有三个主要的高级组件-.NET Framework,.NET Core和Xamarin。
当您想使用C#构建移动(iOS,Android和Windows Mobile)应用程序时,Xamarin是您唯一的选择。
-
.NET Framework
支持Windows和Web应用程序。今天,您可以使用Windows窗体,WPF和UWP在.NET Framework中构建Windows应用程序。ASP.NET MVC用于在.NET Framework中构建Web应用程序。 -
.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 支持提供支持。