十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
這篇文章給大家分享的是有關(guān).NET Core與.NET Framework關(guān)系是什么的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
創(chuàng)新互聯(lián)建站致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營(yíng)銷,包括成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作、SEO優(yōu)化、網(wǎng)絡(luò)推廣、整站優(yōu)化營(yíng)銷策劃推廣、電子商務(wù)、移動(dòng)互聯(lián)網(wǎng)營(yíng)銷等。創(chuàng)新互聯(lián)建站為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制及解決方案,創(chuàng)新互聯(lián)建站核心團(tuán)隊(duì)十載專注互聯(lián)網(wǎng)開發(fā),積累了豐富的網(wǎng)站經(jīng)驗(yàn),為廣大企業(yè)客戶提供一站式企業(yè)網(wǎng)站建設(shè)服務(wù),在網(wǎng)站建設(shè)行業(yè)內(nèi)樹立了良好口碑。
要理解.NET Core就有必要了解之前的.NET平臺(tái)的眾多Framework們。2002年微軟公司發(fā)布的第一個(gè).NET框架————.NET Framework,不久后又發(fā)布了.NET Compact Framework 用于在較小的移動(dòng)設(shè)備(Windows mobile),而.NET Compact Framework 也含有一套 類似.NET Framework 體系(Runtime, Framework,Application Model),它是一個(gè)復(fù)制精簡(jiǎn)版的 .NET Framework。在數(shù)年間微軟樂(lè)此不疲的推出了數(shù)個(gè)類似 .NET Framework的框架,以用于在不同的設(shè)備和平臺(tái)上運(yùn)行。每個(gè)Framework都有類似的體系但又不完全相同的,這樣Framework越來(lái)越多,對(duì)開發(fā)者來(lái)說(shuō)不一樣的設(shè)備即便功能相同也需要維護(hù)多套代碼,增加了開發(fā)的復(fù)雜度。
微軟對(duì)這些問(wèn)題的重新思考和改進(jìn)讓.NET Core橫空出世。
.NET Core是一個(gè)開源的模塊化的Framework,不管是開發(fā)web或移動(dòng)設(shè)備都在同一個(gè)Framework(.NET Core)下運(yùn)行,而且 .NET Core也可在不同的操作系統(tǒng)上運(yùn)行,包括Windows、linux、MacOS,實(shí)現(xiàn)了跨平臺(tái)跨設(shè)備。
更棒的是.NET Core 在發(fā)布程序時(shí)不用事先安裝Framework而是通過(guò)Nuget下載,這樣在初次部署時(shí)就不用安裝一個(gè)復(fù)雜而龐大Framework,而是按需下載。這種基于Nuget的按需加載鑄就了.NET Core 跨平臺(tái)。
.NET Core 構(gòu)成體系如下:
在.NET Core 中有實(shí)現(xiàn)兩種RunTime,NativeRuntime 和 CoreCLR。NativeRuntime 將C# 或 VB.net 代碼直接轉(zhuǎn)換為原生機(jī)器碼。而CoreCLR是一個(gè)開源的JIT運(yùn)行時(shí),會(huì)將代碼編譯成中間語(yǔ)言(IL)在最終運(yùn)行時(shí)再轉(zhuǎn)換機(jī)器碼。
Base Classlibrary即基礎(chǔ)類,例如 FileSystem、Console、XML操作等。
提供開發(fā)Windows系統(tǒng)的各種觸屏設(shè)備和ASP.NET程序的一組基礎(chǔ)庫(kù)。
.NET Core & .NET Framework 都是 NET Standard Library 的實(shí)現(xiàn),一種是跨平臺(tái),而另一種是Windows下特有的,除實(shí)現(xiàn)NET Standard Library外 .NET Core 和 .NET Framework 都有各自特有的實(shí)現(xiàn)。.NET Standard Library 是跨操作系統(tǒng)的關(guān)鍵所在,它定義了一組接口,而每個(gè)操作系統(tǒng)有各自的實(shí)現(xiàn),.NET Core通過(guò)nuget可以動(dòng)態(tài)下載當(dāng)前操作系統(tǒng)的實(shí)現(xiàn),從而實(shí)現(xiàn)跨操作系統(tǒng)(暨跨操作系統(tǒng)共享代碼)。
.NET Core 更依賴于Nuget,允許本地application在部署時(shí)動(dòng)態(tài)下載需要的class library。而.NET Framework需要在系統(tǒng)中預(yù)裝。這樣.NET Core的部署比.NET Framework 更簡(jiǎn)單快速同樣也更輕便。
從上圖可以看到 ASP.NET Core 有兩種形態(tài)的存在:
ASP.NET Core Web Application(.NET Core)
依賴于.NET Core的ASP.NET 只可以調(diào)用.NET Core的API,可以在多個(gè)操作系統(tǒng)上運(yùn)行。(可見下圖下半部分的Reference Manager,在assemblies中沒(méi)有.NET Framework 中的庫(kù))
ASP.NET Core Web Application(.NET Framework)
依賴于.NET Core & .NET Framework 的ASP.NET 可以調(diào)用.NET Core&.NET Framework的API ,只可以在Windows下運(yùn)行。(可見下圖上半部分的Reference Manager,在assemblies中含有所有.NET Framework 中的庫(kù))
Mono是.NET Framework的開源版本的實(shí)現(xiàn),在某些特性上和.NET Core 很類似比如開源,跨操作系統(tǒng)。目前.NET CORE 會(huì)從Mono上吸取經(jīng)驗(yàn),發(fā)展壯大最終可以更好的在除Windows外的其他操作系統(tǒng)上運(yùn)行。另外Mone支持的App Models要比.NET Core多(例如Windows Forms)。
感謝各位的閱讀!關(guān)于“.NET Core與.NET Framework關(guān)系是什么”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!