您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關.NET Core與.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是一個開源的模塊化的Framework,不管是開發web或移動設備都在同一個Framework(.NET Core)下運行,而且 .NET Core也可在不同的操作系統上運行,包括Windows、linux、MacOS,實現了跨平臺跨設備。
更棒的是.NET Core 在發布程序時不用事先安裝Framework而是通過Nuget下載,這樣在初次部署時就不用安裝一個復雜而龐大Framework,而是按需下載。這種基于Nuget的按需加載鑄就了.NET Core 跨平臺。
.NET Core 構成體系如下:
在.NET Core 中有實現兩種RunTime,NativeRuntime 和 CoreCLR。NativeRuntime 將C# 或 VB.net 代碼直接轉換為原生機器碼。而CoreCLR是一個開源的JIT運行時,會將代碼編譯成中間語言(IL)在最終運行時再轉換機器碼。
Base Classlibrary即基礎類,例如 FileSystem、Console、XML操作等。
提供開發Windows系統的各種觸屏設備和ASP.NET程序的一組基礎庫。
.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下運行。(可見下圖上半部分的Reference Manager,在assemblies中含有所有.NET Framework 中的庫)
Mono是.NET Framework的開源版本的實現,在某些特性上和.NET Core 很類似比如開源,跨操作系統。目前.NET CORE 會從Mono上吸取經驗,發展壯大最終可以更好的在除Windows外的其他操作系統上運行。另外Mone支持的App Models要比.NET Core多(例如Windows Forms)。
感謝各位的閱讀!關于“.NET Core與.NET Framework關系是什么”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。