.Net Framework、.Net Core和.Net Standard的区别

最近在使用Visual Studio 2019创建C#类库的时候,发现可以分别创建以下几种类库

.Net Core 和**.Net Framework** 我是知道的,这个**.Net Standard**是啥,就觉得有点奇怪。貌似以前用VS2015的时候没看到啊,VS2017是有的,只是当时不在意。

找了一下,原来在Visual Studio 2015的时候是叫可移植类库,如下

然后到属性页里修改为.Net Standard

那区别是什么呢,如下

.Net Core :.NET Core 是一个开源、跨平台的开发平台,可以用来构建现代、可伸缩和高性能的跨平台软件应用程序的,包括Asp.Net CoreWPFWInform等.Net Core 可以使用C#Visual Basic 和**F#**来进行开发。这里理解为.Net的跨平台版本,适合现在流行的Web、移动、云服务、微服务等方向的开发。

注意:在.Net Core 3.1之前的版本,都称为.NET Core,后面的版本直接称为.NET包括.NET 5、.NET 6、.NET 7、.NET 8),现在的最新版本是.NET 8。

.Net Framework: 这里直接理解为.Net的标准版本,从**.Net Framework1.0** 到今天的**.Net Framework4.8**

.Net Standard :.NET Standard 是一套正式的 .NET API 规范,等于是一套规范,.Net Core也好,.Net Frameworkd也好,都必须都实现这个规范。

例如,.NET Framework 4.6 实现 .NET Standard 1.3。也就是说,它会公开在 .NET Standard 版本 1.0 到 1.3 中定义的所有 API。 同样,.NET Framework 4.6.1 实现 .NET Standard 1.4,而 .NET Core 1.0 则实现 .NET Standard 1.6。

目前.Net Framework实现的最高.Net Standard版本是2.0。

详细可见下表

.NET Standard 1.0 1.1 1.2 1.3 1.4 1.5 1.6 2.0 2.1
.NET Core 1.0 1.0 1.0 1.0 1.0 1.0 1.0 2.0 3.0
.NET Framework 1 4.5 4.5 4.5.1 4.6 4.6.1 4.6.1 2 4.6.1 2 4.6.1 2 N/A3

参考:

.NET Standard - .NET | Microsoft Learn

Announcing .NET Standard 2.1 - .NET Blog

相关推荐
那个那个鱼3 小时前
.NET 框架版本年表
开发语言·c#·.net
小乖兽技术4 小时前
fo-dicom,第一个基于.NET Standard 2.0 开发的DICOM开源库
.net·fo-dicom
nigture4 小时前
.NET全局静态可访问IServiceProvider(支持Blazor)
.net·ioc·di·rougamo
IT规划师10 小时前
C#|.net core 基础 - 值传递 vs 引用传递
c#·.netcore·值传递·引用传递
wenyinvjiuke21 小时前
节日庆典中的白酒文化,传承与创新并存
.netcore
脚步的影子1 天前
.NET 6.0 + WPF 使用 Prism 框架实现导航
.net·wpf
wo63704312 天前
[Visual Stuidio 2022使用技巧]2.配置及常用快捷键
c#·.net·wpf
界面开发小八哥2 天前
DevExpress WPF中文教程:如何解决排序、过滤遇到的常见问题?(二)
.net·wpf·界面控件·devexpress·ui开发
平凡而伟大(心之所向)2 天前
关于.net Framework向.net core的移植
java·.net·.netcore