.NET Standard Library是 .NET Framework 的基础,也就是说.NET Framework包含了.NET Standard Library中的所有目录。
所以将一个.NET Standard Library项目改成 .NET Framework项目是可以的。
但将一个.NET Framework项目改成.NET Standard Library项目那是有条件的,那就是不涉及到.NET Framework的特有部件。
下面这图可以清晰的知道.NET Standard Library和.NET Framework的关系和区别。
区别一、.NET Standard Library是底层的库文件,一般为上层提高实现的接口,而 .NET Framework除了实现NET Standard Library外,还有自己特有的实现类和方法。
区别二、.NET Standard是一项实现BCL的规范。由于.NET实现需要遵循这项规范,所以应用程序开发人员就不用担心每一种托管框架实现的BCL不同。
因此,.NET Framework每一种托管框架都实现了.NET Standard中的BCL。
区别三、每个.NET版本都对应一个.NET Standard版本,而.NET Framework没有这样的要求。
一、类型不同
1、NET Core:是适用于 windows、linux 和 macos *** 作系统的免费、开源托管的计算机软件框架。
2、NET Standard:是微软为跨平台所规划的.NET Framework相关平台于系统之间的相依性标准。
二、功能不同
1、NET Core:有跨平台 (Windows、Mac OSX、Linux) 能力的应用程序开发框架 (Application Framework),未来也将会支持 FreeBSD 与 Alpine 平台,也是微软在一开始发展时就开源的软件平台。
2、NET Standard:由微软提供引用组件,引用组件置于微软的CoreFX存储库,每一个定义的名字空间与类别都有一个ref文件夹,里面即是默认的实现码,所有参与.NET平台标准的实现者都必须要实现这些属性与方法,才能兼容于.NET平台标准。
三、内容不同
1、NET Core: 采用包化 (Packages) 的管理方式,应用程序只需要获取需要的组件即可,与 .NET Framework 打包式安装的作法截然不同,同时各包亦有独立的版本线 (Version line),不再硬性要求应用程序跟随主线版本。
2、NET Standard:是以引用组件的方式存在,其本身并没有任何实现,真正的实现是由平台拥有者所进行,而客户端使用简单的NuGet版本戳记即可获得正确的平台版本。
参考资料来源:百度百科-.net core
参考资料来源:百度百科-.NET Standard
我们都知道.NET Core是一个可以用来构建现代、可伸缩和高性能的跨平台软件应用程序的通用开发框架。可用于为Windows、Linux和MacOS构建软件应用程序。与其他软件框架不同,.NET Core是最通用的框架,可用于构建各种软件,包括Web应用程序、移动应用程序、桌面应用程序、云服务、微服务、API、 游戏 和物联网应用程序。与其他框架不同,.NET Core并不局限于单一的编程语言,它支持C#、VB.NET、F#、XAML和TypeScript。这些编程语言都是开源的,由独立的社区管理。
.NET Core提供了最先进、最成熟和最广泛的类库、公共API、多语言支持和工具。借助于Visual Studio 2019和Visual Studio Code 这些最先进和最现代的开发工具,使得.NET Core成为开发人员最高效的平台之一。
.NET Core的 历史
.NET Core是由Microsoft开发,目前在.NET Foundation(一个非营利的开源组织)下进行管理。.NET Core是用C#和C++编写的,并采用MIT协议作为开源协议。第一个版本的.NET Core 1.0是在2016年发布的,功能有限。NET Core 2.0于2017年8月14日发布。在这个版本中发布的两个核心框架是ASP.NET Core2.0和 Entity Framework Core 2.0。下一个稳定版本.NET Core 2.1和2.2于2018年5月和12月发布。.NET Core的当前版本为3.0.0,并且在2019年5月6日发布了第5个预览版。
下表总结了.NET Core的主要里程碑:
版本发布日期关键特征/产品.NET Core 1.06/27/2016VisualStudio 2015 Update 3支持的.NET Core的初始版本。.net Core 1.1.13/7/2017.NET Core Tools 1.0受VisualStudio 2017支持.NET Core 2.08/14/2017VisualStudio 2017 15.3,ASP.NETCore 2.0,实体框架2.0.NET Core 2.15/30/2018ASP.NET Core 2.1,EF Core 2.1.NET Core 2.212/4/2018ASP.NET Core 2.2,EF Core 2.2.NET Core 3.0预览33/6/2019通过VisualStudio2019支持ASP.NET Core 3.0、EF Core3.0、UWP、Windows窗体、WPF。
.NET Core的特点
.NET Core的主要特性包括开源、跨平台、现代、灵活、轻量级、快速、友好、可共享,以及为未来的软件开发而构建的。
.NET Core是免费和开源的
.NET Core平台是免费的、开源的。.NET Core的源代码托管在Github上。任何开发人员都可以参与到.NET Core的开发。有数千名参与.NET Core开发的活跃开发人员正在改进特性、添加新特性以及修复bug和问题。
.NET Core由一个名为.NET Foundation的独立的非营利组织管理。60,000多名开发人员和3,700多家公司正在为.NET生态系统做出贡献。
.NET Core是免费的,并且采用MIT和Apache协议作为开源协议。对商业十分友好。不像某Java
.NET Core是跨平台的
.NET Core支持并运行在Windows、MacOS和Linux *** 作系统上。.NET Core跨体系结构(包括x64、x86和ARM)是一致的。可以导入相同的程序集和库,并在多个平台上使用。这些程序集和库都可以使用如下的.NET语言进行构建,如:C#、VB.NET或F#。
.NET Core是可共享的
.NET Core使用一种用.NET Standard编写的一致API模型,这种模型对所有.NET应用程序都是通用的。相同的API或库可以与多种语言的多个平台一起使用。
.NET Core是现代的
与一些较旧的框架不同,.NET Core旨在解决当今的现代需求,包括移动友好、构建一次在任何地方运行、可伸缩和高性能。.NET Core旨在构建针对各种设备的应用程序,包括物联网和 游戏 机。
Visual Studio 2019和Visual Studio Code是世界上最先进和最现代的集成开发环境。这两个IDES都支持当今的现代需求,并且专注于干净、速度和生产力。在这里了解有关VisualStudio 2019功能的更多信息:VisualStudio 2019新特性.
.NET Core是快速的
.NET Core 3.0 是快速的。与.NET Framework和.NET Core 2.2及以前的版本相比,.NET Core 3.0的速度很快。.NET Core比其他服务器端框架(如Java Servlet和Node.js)快得多。
根据TechEmpowers发布的一份报告,.NET Core比任何其他框架都要快得多。 TechEmpower基准测试通过对多个Web应用程序框架做如下比较:数据库的单表查询,多表查询,文件访问,数据更新,明文和JSON序列化等任务进行比较。
.NET Core是轻量级的
.NET Core是轻量级的。.NET Core可以包含在您的应用程序中,也可以安装在并行用户、机器范围内或服务器上。.NET Core可以部署在Docker容器中。
.NET Core是友好的
.NET Core通过.NET Standard与.NET Framework,Xamarin和Mono兼容。 .NET Core还支持使用各种流行的Web框架和库,如React,Angular和JavaScript。 TypeScript是.NET Core和Visual Studio生态系统的关键组件之一。
我们可以使用.NET Core构建哪些类型的应用程序?
.NET Core是一个通用的软件开发框架。它允许开发人员构建各种软件,包括Web,桌面,移动,云, 游戏 ,物联网等。
.NET Core更适合跨平台需求。.NET Core应用程序支持在Windows,Linux和macOS上运行。Linux和macOS上也都支持Microsoft流行的开源代码编辑器Visual Studio Code。VS Code支持代码编辑器的现代需求,包括智能提醒和调试。大多数第三方编辑器(如Sublime,Emacs和VI)都支持.NET Core。
Web应用
ASP.NET Core是.NET Core生态系统的核心组件。ASP.NET Core是一个用于构建网页的框架。ASP.NET Core基于MVC架构,并提供用于构建Web的通用库。开始使用ASP.NET Core
Razor是一个使用C#和TypeScript构建动态网页的新框架。Razor是一种改变 游戏 规则的技术,它允许C#开发人员用C#构建Web应用程序。
移动开发
移动开发是.NET Core的关键产品。Xamarin是一套使用C#构建跨平台移动应用程序的工具和库。Xamarin允许开发人员在共享的.NET代码库上为IOS、Android、Windows和MacOS构建本地应用程序。
桌面应用程序
.NET Core提供各种框架和工具来构建桌面应用程序。Windows窗体、WPF、UWP和Xamarin是构建桌面应用程序的四个主要框架。.NET Core还支持这些框架之间的互 *** 作性。
Windows窗体是一种构建Windows桌面应用程序的技术。Windows窗体是.NET Framework的首批组件之一。
WPF(Windows Presentation Foundation)是一种较新的构建Windows桌面应用程序的技术。WPF是作为.NET Framework版本的一部分发布的
了解有关wpf的更多信息这里.
UWP是一种较新的技术,是在Windows 8之后发布的。如今,UWP已经成熟。UWP使用XAML作为表示层(UI)和C#作为后端编程。但是,貌似微软已经宣布了他的死亡。
微服务和容器
微服务是一种新的设计模式,它允许开发人员构建软件服务的小模块,这些模块可以使用定义良好的契约相互通信。微服务使开发、测试和部署应用程序的独立部分更加容易。一旦部署完毕,每个微服务都可以根据需要独立地进行缩放。.NET Core支持微服务体系结构,它允许跨平台服务与.NET Core一起工作,包括使用.NET Framework、Java、Ruby或其他开发的服务。
容器是今天的越野车。.NET Core的模块化、轻量级和灵活性使得将.NET Core应用程序部署到容器中变得更加容易。容器把一个应用程序的所有的配置文件和依赖关系,包含在一个单独的、小型的和独立的软件部署单元中。容器可以部署在任何平台、云、Linux和Windows上。.NET Core与Docker和Azure Kubernetes服务都很好地协作。
云应用程序
云应用程序现在越来越受欢迎。Azure支持各种云应用程序。.NET Core和C#应用程序可以通过Visual Studio 2019部署在Azure上。
物联网
物联网应用正在增长。.NET Core支持通过UWP框架为运行Windows 10 IoT Core的物联网设备进行物联网开发。UWP可用于构建在由Raspberry Pi,MinnowBoard MAX,DragonBoard 410c等提供支持的物联网上运行的应用程序。
机器学习
机器学习是软件开发人员日益增长的领域。
参考微软官方文档
游戏
Unity是最受欢迎的 游戏 开发框架之一。C#和UWP用于构建移动,桌面,控制台,电视,VR,AR和Web 游戏 。
.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中的其他功能和增强功能列表,
参考文献
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)