.net core和.net区别
简单说,都是.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区别的详细内容。