.net 与.net core 与.net framework与.net standard之间的关系理解

导读:本篇文章讲解 .net 与.net core 与.net framework与.net standard之间的关系理解,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

最近在做C#程序的跨平台的东西,所有仔细研究了下这几个常常弄混的东西。

.net是一个用于开发的平台。官方的说法是:

免费的。跨平台的。开源的。一个开发者平台来构建你所有的应用程序。

.net core是适用于 Windows、Linux 和 macOS 的免费、开源托管的计算机软件框架,是微软开发的第一个官方版本,具有跨平台能力的应用程序开发框架 (Application Framework)。

.net framework主要是基于windows平台开发的框架。

.NET Standard 是针对多个 .NET 实现推出的一套正式的 .NET API 规范。 推出 .NET Standard 的背后动机是要提高 .NET 生态系统中的一致性。 .NET 5 及更高版本采用不同的方法来建立一致性,这种方法在大多数情况下都不需要 .NET Standard。 但如果要在 .NET Framework 和其他任何 .NET 实现(例如 .NET Core)之间共享代码,则库必须面向 .NET Standard 2.0。 不会再发布新的stanard版本,但 .NET 5、.NET 6 以及所有将来的版本将继续支持 .NET Standard 2.1 及更早版本。

最后我的理解是这样的,由于.net framework不支持跨平台,但是有时候需要做一些跨平台的程序,这样使用framework的工程师就无法做到。必须转语言。所以微软开发了.net core,提供了跨平台的能力,但是并不能完全解决两者之间的冲突,并且移植难度和工作量不小。所以提供了一套标准库,就是.net standard,这一套API支持各个平台。这样对于使用framework的工程师来说,就可以将平台通用的业务抽离出来,做成.net standard标准库,这样不同的平台业务都可以调用一套通用的代码。降低移植工作量。

这里只是涉及到需要移植framework程序这样做比较合理。如果是新开发的跨平台程序,可以直接选择框架.net 5.0及以上,如果需要开发特定平台的业务,可以引入特定平台框架,比如 .net 50 -windows.10 这样来做。

.net framework支持的.net standard最高为2.0,也是推荐使用的版本。

.net core支持的.net standard最高版本为2.1

以下截图可供参考:

.net standard 2.0详细API解析地址:.NET API 浏览器 | Microsoft Docs

.net 与.net core 与.net framework与.net standard之间的关系理解

.net 与.net core 与.net framework与.net standard之间的关系理解

.net 与.net core 与.net framework与.net standard之间的关系理解

 

.net 与.net core 与.net framework与.net standard之间的关系理解

.net 与.net core 与.net framework与.net standard之间的关系理解

.net 与.net core 与.net framework与.net standard之间的关系理解

.net 与.net core 与.net framework与.net standard之间的关系理解

.net 与.net core 与.net framework与.net standard之间的关系理解

.net 与.net core 与.net framework与.net standard之间的关系理解

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/51807.html

(0)
小半的头像小半

相关推荐

极客之家——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!