日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > asp.net >内容正文

asp.net

.NET 5 自身就是一个 .NET Standard

發(fā)布時(shí)間:2023/12/4 asp.net 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 .NET 5 自身就是一个 .NET Standard 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

微軟2014年開源.NET的動(dòng)作是實(shí)現(xiàn)一個(gè)全新的.NET Core?,從而引入了一個(gè)新的問題:選擇代碼的編譯目標(biāo)變得困難,需要面對(duì)3個(gè)環(huán)境。因此微軟為了解決這個(gè)問題,引入了兩個(gè)主要的概念:目標(biāo)框架別名(Target Framework Moniker)和.Net Standard。

目標(biāo)框架別名(Target Framework Moniker)是.NET Core 中應(yīng)用程序所針對(duì)的框架類型 + 版本號(hào)的 ID。我們可以把別名分成兩個(gè)不同的類型:跨平臺(tái)的目標(biāo):.Net Standard 和平臺(tái)實(shí)現(xiàn),如.Net Framework、.Net Core?和 Xamarin.

.Net Standard 庫(kù)是.Net Core 可移植性的核心。其目的是定義標(biāo)準(zhǔn)的 API 集。這些 API,如集合、線程、反射,是由.Net Core、.Net Framework、Xamarin 和 Mono 等平臺(tái)實(shí)現(xiàn)的。它們是開發(fā)人員用來(lái)構(gòu)建自己的庫(kù)和應(yīng)用程序的基本構(gòu)建塊。

隨著.NET?5的完成,微軟通過(guò)5年時(shí)間把代碼的編譯目標(biāo)的選擇困難問題解決了,而且變得更加簡(jiǎn)單,因此微軟 .NET 官方博客近日發(fā)布了一篇談?wù)?.NET Standard 未來(lái)的文章。文章作者是 .NET 項(xiàng)目經(jīng)理 Immo,他在文章中指出未來(lái) .NET Standard 將會(huì)被 .NET 5 取代,還對(duì) .NET 5 如何改進(jìn)代碼共享以及取代 .NET Standard 這個(gè)說(shuō)法進(jìn)行了解釋,此外還介紹了仍然需要 .NET Standard 的情況。

Immo 表示不會(huì)再為 .NET Standard 發(fā)布新版本,但 .NET 5 及其所有未來(lái)的版本將繼續(xù)支持 .NET Standard 2.1 和更早版本。他建議開發(fā)者可以考慮將net5.0(以及未來(lái)的版本)作為共享代碼的基礎(chǔ),甚至可以將 .NET 5 視為 .NET Standard vNext。

因?yàn)?.NET 5 將會(huì)是具有統(tǒng)一功能和 API 的單一產(chǎn)品,可用于開發(fā) Windows 桌面應(yīng)用程序、跨平臺(tái)移動(dòng)應(yīng)用程序、控制臺(tái)應(yīng)用程序,以及云端服務(wù)和網(wǎng)站。而且為了更好地體現(xiàn) .NET 5 的定位,微軟還更新了目標(biāo)框架名稱(TFM, Target Framework Name)。

.NET Standard 的出現(xiàn)是為了提供 .NET 統(tǒng)一跨平臺(tái)的基礎(chǔ)函數(shù)庫(kù),方便開發(fā)者編寫在任何平臺(tái)執(zhí)行的函數(shù)庫(kù),但 Immo 指出了 .NET Standard 存在 3 個(gè)問題,包括版本更新緩慢、.NET Standard 版本與 .NET 實(shí)現(xiàn)的映射較為復(fù)雜以及 .NET Standard 包含了特定于平臺(tái)的功能,因此無(wú)法靜態(tài)驗(yàn)證代碼是否真正可移植。

.NET 5 針對(duì)這些問題均提供了解決方案,而且 .NET 5 和未來(lái)的版本將會(huì)支持 .NET Standard 2.1 以及更早版本,因此開發(fā)者可以不需要更新現(xiàn)有程序,不過(guò)如果開發(fā)者希望使用額外的 Runtime 功能、語(yǔ)言功能以及 API,可以選擇將 .NET Standard 升級(jí)使用 .NET 5。

對(duì)于新項(xiàng)目應(yīng)該從 .NET Standard 2.0 開始還是直接使用?.NET 5 的問題,Immo 認(rèn)為主要取決于應(yīng)用程序組件和可重用的庫(kù)。

當(dāng)開發(fā)者使用函數(shù)庫(kù)將應(yīng)用程序分解成多個(gè)組件,為簡(jiǎn)單起見,組成應(yīng)用程序的所有項(xiàng)目最好都位于同一版本的 .NET 上,此時(shí)可以考慮 .NET 5。

如果要構(gòu)建計(jì)劃在 NuGet 上使用的可重用庫(kù),則需要考慮可用的功能集:.NET Standard 2.0 是 .NET Framework 支持 .NET Standard 的最高版本,其提供了龐大的功能集,覆蓋范圍廣。

總結(jié):

  • 用于在 .NET Framework 和所有其他平臺(tái)之間共享代碼,使用netstandard2.0

  • 用于在 Mono,Xamarin 和 .NET Core 3.x 之間共享代碼,使用netstandard2.1

  • 向后共享代碼,使用net5.0

總結(jié)

以上是生活随笔為你收集整理的.NET 5 自身就是一个 .NET Standard的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。