细致分析.NET Core 以及与 .NET Framework的关联(图):
一 .NET 的 Framework 们
要明白.NET Core就有必要相识之前的.NET平台的浩瀚Framework们。2002年微软公司宣布的第一个.NET框架————.NET Framework,不久后又宣布了.NET Compact Framework 用于在较小的挪动装备(Windows mobile),而.NET Compact Framework 也含有一套 相似.NET Framework 体系(Runtime, Framework,Application Model),它是一个复制精简版的 .NET Framework。在数年间微软乐此不疲的推出了数个相似 .NET Framework的框架,以用于在差别的装备战争台上运转。每一个Framework都有相似的体系但又不完全雷同的,如许Framework越来越多,对开辟者来讲不一样的装备即使功用雷同也须要保护多套代码,增加了开辟的庞杂度。
二 .NET Core的到来
微软对这些题目的从新思索和革新让.NET Core横空出世。
.NET Core是一个开源的模块化的Framework,不管是开辟web或挪动装备都在同一个Framework(.NET Core)下运转,而且 .NET Core也可在差别的操纵体系上运转,包含Windows、linux、MacOS,完成了跨平台跨装备。
更棒的是.NET Core 在宣布顺序时不必事前装置Framework而是经由过程Nuget下载,如许在首次布置时就不必装置一个庞杂而巨大Framework,而是按需下载。这类基于Nuget的按需加载铸就了.NET Core 跨平台。
.NET Core 组成体系以下:
1. Runtime
在.NET Core 中有完成两种RunTime,NativeRuntime 和 CoreCLR。NativeRuntime 将C# 或 VB.net 代码直接转换为原生机器码。而CoreCLR是一个开源的JIT运转时,会将代码编译成中间言语(IL)在终究运转时再转换机器码。
2. Unified BCL
Base Classlibrary即基本类,比方 FileSystem、Console、XML操纵等。
3. Windows Store AppModel & ASP.NET Core 1.0
供应开辟Windows体系的种种触屏装备和ASP.NET顺序的一组基本库。
三 .NET Core 与 .NET 其他Framework的关联
1 .NET Core & .NET Framework
.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 更简朴疾速一样也更轻巧。
2 .NET Core & ASP.NET
从上图能够看到 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下运转。(可见下图上半部份的Reference Manager,在assemblies中含有一切.NET Framework 中的库)
3 .NET Core & Mono
Mono是.NET Framework的开源版本的完成,在某些特性上和.NET Core 很相似比方开源,跨操纵体系。现在.NET CORE 会从Mono上吸取经验,发展壮大终究能够更好的在除Windows外的其他操纵体系上运转。别的Mone支撑的App Models要比.NET Core多(比方Windows Forms)。
总结
微软CEO萨提亚·纳德拉睿智的决议扬弃以PC为中间,拥抱种种装备战争台,成为一家软件服务型企业。为了杀青这类愿景必需构建新的微软生态链,席卷Windows,Linux,OS X及其他操纵体系,掩盖X86/ARM等处理器以及差别的装备(包含PC,Phone,全息眼镜及其他)。这些足见微软的“野心”。跟着.NET Core 正式宣布大战略迈出坚固的一步,6月27日让我们拭目以待吧。
以上就是细致分析.NET Core 以及与 .NET Framework的关联(图)的细致内容,更多请关注ki4网别的相干文章!