? ? ?微軟于2016年推出了新一代的開發(fā)平臺,并且將其命名為.NET Core。相較于舊的.NET Framework。
.NET Core有如下優(yōu)點(diǎn):
? ?1).NET Core采用模塊化開發(fā)。不再像.NET Framework那樣需要安裝整個(gè)安裝包。.NET Core核心只包含很少的文件,所有其他模塊都需要單獨(dú)安裝。根據(jù)需要引用各自不動的版本和包。
(2).NET Core支持獨(dú)立部署,也就是說,可以把.NET Core運(yùn)行時(shí)環(huán)境和開發(fā)的程序打包到一起部署。這樣就不需要在服務(wù)器上安裝.NET Core運(yùn)行環(huán)境,只要把程序復(fù)制到服務(wù)器上,程序就能運(yùn)行,這對容器化、無服務(wù)器(Serverless)等非常友好。
(3)程序的運(yùn)行效率更高。.NET Core的所有管道都是可以插拔的,我們可以決定程序需要哪些管道及它們的執(zhí)行順序,因此用.NET Core開發(fā)出來的程序運(yùn)行效率更高。
(4)ASP.NET Core程序內(nèi)置了簡單且高效的Web服務(wù)器—Kestrel。Kestrel被嵌入ASP.NET Core程序中運(yùn)行,因此整個(gè)ASP.NET Core程序其實(shí)就是一個(gè)控制臺程序。Kestrel可被配置上安全、HTTPS、限流、壓縮、緩存等功能,從而成為直接面向終端用戶的Web服務(wù)器,這樣網(wǎng)站運(yùn)行不依賴于IIS;也可以將其配置成輕量級的Web服務(wù)器,而安全、HTTPS、限流、壓縮、緩存等功能則由部署在它前面的IIS、Nginx等反向代理服務(wù)器完成。
微軟為什么拋棄舊的.NET Framework,而重新開發(fā)新的平臺呢?
?.NET Framework是2002年由微軟推出的開發(fā)平臺,那時(shí)候還沒有云服務(wù)平臺、容器、微服務(wù)等概念,也就不能在平臺中考慮這些因素,因此我們基于.NET Framework進(jìn)行新項(xiàng)目的開發(fā)無法滿足功能需求。
.NET Standard介紹
? ?.NET Standard規(guī)定了一系列需要被所有.NET Core、.NET Framework及Xamarin等共同實(shí)現(xiàn)的API,包括有哪些類、有哪些方法、參數(shù)和返回值是什么等。需要說明的是,.NET Standard只是一個(gè)規(guī)范,不是一個(gè)框架。不要以為.NET Standard是一個(gè)被.NET Framework、.NET Core、Xamarin等共用的基礎(chǔ)庫,.NET Standard只是規(guī)定了需要被實(shí)現(xiàn)的規(guī)范,但是不負(fù)責(zé)具體實(shí)現(xiàn)。對于.NET Standard類型的類庫項(xiàng)目,當(dāng)我們分別在.NET Core項(xiàng)目和.NET Framework項(xiàng)目中引用這個(gè)類庫的時(shí)候,就可以看到它們執(zhí)行時(shí)的差別。
.NET Standard隨著.NET技術(shù)的升級而升級,不同版本的.NET Core、.NET Framework等支持不同版本的.NET Standard,越高版本的.NET Core、.NET Framework等支持的.NET Standard版本越高。如下圖所示
?如果一個(gè)類庫遵守一個(gè)版本的.NET Standard規(guī)范,那么不低于對應(yīng)這個(gè)版本的.NET Core、.NET Framework的項(xiàng)目都可以使用這個(gè)類庫。比如一個(gè)類庫遵守.NET Standard 2.0規(guī)范,那么不低于.NET Core 2.0或者不低于.NET Framework 4.6.1的項(xiàng)目就都可以使用這個(gè)類庫。如果我們要編寫一個(gè)給公眾使用的類庫,為了讓.NET Core、.NET Framework、Xamarin等開發(fā)人員都能使用這個(gè)類庫,這個(gè)類庫就應(yīng)該是.NET Standard類庫,并且.NET Standard的版本應(yīng)盡可能低一些,這樣低版本的.NET Core、.NET Framework、Xamarin的項(xiàng)目也能使用這個(gè)類庫。文章來源:http://www.zghlxwxcb.cn/news/detail-843591.html
?總而言之,.NET Standard是一個(gè).NET平臺下的規(guī)范,使得我們開發(fā)的類庫可以被.NET Framework、.NET Core、Xamarin等使用,提高了代碼的復(fù)用性。.NET Standard已經(jīng)完成了它的歷史使命。從.NET 5開始,微軟將不再更新.NET Standard,而是會把.NET 5、.NET 6等視為單一的代碼庫,并會通過編譯期和運(yùn)行時(shí)的檢查來解決不同平臺下它們所支持的功能具有差異這一問題。文章來源地址http://www.zghlxwxcb.cn/news/detail-843591.html
到了這里,關(guān)于.NET Core 簡介的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!