.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

相关推荐
界面开发小八哥2 小时前
界面开发框架DevExpress XAF实践:如何在Blazor项目中集成.NET Aspire?(二)
.net·界面控件·devexpress·ui开发·xaf
刘梦凡呀1 天前
C# .NET Core 批量下载文件
windows·c#·.netcore
码观天工2 天前
C#高性能开发之类型系统:从C# 7.0 到C# 14的类型系统演进全景
性能优化·c#·.net·memory·高性能·record·c#14·类型系统
程序员秘密基地2 天前
基于c#,wpf,ef框架,sql server数据库,音乐播放器
sql·sqlserver·c#·.net·wpf
Zhen (Evan) Wang2 天前
.NET 6 WPF 利用CefSharp.Wpf.NETCore显示PDF文件
.net·wpf·.netcore
我是唐青枫2 天前
C# 如何比较两个List是否相等?
c#·.net
时光追逐者2 天前
C#/.NET/.NET Core拾遗补漏合集(25年4月更新)
c#·.net·.netcore
追雨潮2 天前
.net core 项目快速接入Coze智能体-开箱即用-第2节
.netcore
Hellc0072 天前
完整的 .NET 6 分布式定时任务实现(Hangfire + Redis 分布式锁)
redis·分布式·.net
CF14年老兵3 天前
MVC 应用程序中使用 FluentValidation 进行验证的重要性
性能优化·mvc·.net