简单说,都是.net standard所定义的接口的实现,都是 .net standard的儿子。
C#是一种编程语言,使用它可以创建具有第7版新功能的程序。
.Net Standard是一个规则(很好,是标准),通过该规则,应该将库构建为可以相互理解。
可移植类库是库的特殊版本,可以由.NetFramework或.Net Core使用。
.Net Core是一个类似于通用.Net的框架,具有不同的体系结构,从v1.6开始支持.Net Standard,因此它无法轻松地与.Net的早期版本进行交互。
.Net 4.7是.Net Framework的新版本,它也支持.Net Standard 1.6,因此它可以与.Net Core应用程序进行交互。
宣布的.Net Standard 2.0将为.Net Framework,.Net Core,Xamarin等运行提供一个通用平台。
.NET Core & .NET Framework 都是 NET Standard Library 的实现,一种是跨平台,而另一种是Windows下特有的,除实现NET Standard Library外 .NET Core 和 .NET Framework 都有各自特有的实现。.NET Standard Library 是跨操作系统的关键所在,它定义了一组接口,而每个操作系统有各自的实现,.NET Core通过nuget可以动态下载当前操作系统的实现,从而实现跨操作系统(暨跨操作系统共享代码)。
.NET Core 更依赖于Nuget,允许本地application在部署时动态下载需要的class library。而.NET Framework需要在系统中预装。这样.NET Core的部署比.NET Framework 更简单快速同样也更轻便。
ASP.NET Core 有两种形态的存在:
ASP.NET Core Web Application(.NET Core)
依赖于.NET Core的ASP.NET 只可以调用.NET Core的API,可以在多个操作系统上运行。(可见下图下半部分的Reference Manager,在assemblies中没有.NET Framework 中的库)
ASP.NET Core Web Application(.NET Framework)
依赖于.NET Core & .NET Framework 的ASP.NET 可以调用.NET Core&.NET Framework的API ,只可以在Windows下运行
.NET Core & Mono
Mono是.NET Framework的开源版本的实现,在某些特性上和.NET Core 很类似比如开源,跨操作系统。目前.NET CORE 会从Mono上吸取经验,发展壮大最终可以更好的在除Windows外的其他操作系统上运行。另外Mone支持的App Models要比.NET Core多(例如Windows Forms)。
以上就是.net core和.net区别的详细内容,更多请关注自由互联其它相关文章!