热门问题
时间线
聊天
视角

.NET標準

維基媒體列表條目 来自维基百科,自由的百科全书

.NET標準
Remove ads

.NET標準(英語:.NET Standard),原稱為.NET平台標準(英語:.NET Platform Standard)是微軟為跨平台所規劃的.NET Framework相關平台於系統之間的相依性標準,在此標準之下,能確保標準的應用程式介面與物件能夠跨平台使用[註 1]。.NET平台標準是以參考組件的方式存在[註 2],其本身並沒有任何實作,真正的實作是由平台擁有者所進行[註 3],而使用者端使用簡單的NuGet版本戳記即可獲得正確的平台版本[註 4]

Thumb
.NET標準函式庫架構

歷史

.NET Framework長期以來一直是微軟視窗平台上的特色與標準,它也成功的實作跨微軟視窗平台的應用程式介面,但最為人詬病的一點是它無法跨出微軟視窗平台,雖然有Mono這樣的Framework可跨平台,但是Mono畢竟不是官方實作,在.NET相容性上也無法達到百分之百相容,而在微軟以.NET CoreASP.NET Core投入真正跨平台的架構與框架開發時,勢必要面臨這個問題。

.NET平台標準的基礎是.NET Framework上的可攜式類別庫[註 5],但為它賦與了更標準的作法以及更容易識別的版本戳記。

.NET平台標準的原理如下所示[1]

  • 平台擁有者自詳細的.NET平台標準版本中實作參考組件。
  • 平台擁有者可能會自詳細的.NET平台標準版本實作參考組件的子集[註 6]
  • 任何.NET平台標準參考組件中的API表層變更都會影響版本。
  • 低版本的組件總是會相容於高版本。

運作方式

.NET平台標準由微軟提供參考組件,目前的參考組件置於微軟的CoreFX儲存庫[2],每一個定義的命名空間與類別都有一個ref資料夾,裡面即是預設的實作碼,所有參與.NET平台標準的實作者都必須要實作這些屬性與方法,才能相容於.NET平台標準,而CoreFX也有提供實作碼,供實作的參考之用,在大多數的情況,各平台的差異性並不高。

當函式庫已實作成.NET平台標準相容的函式庫後,使用者端就可以使用目標平台別稱(Target Platform MonikerTPM)來加入其參考,其命名規則是portable-a+b+c+d+...,portable表示它是可攜式的類別庫,a, b, c, d則是要支援的平台別:[3]

更多資訊 平台, 定址名稱 ...


Remove ads

版本

.NET平台標準使用netstandard來代表一個平台的標準,使用者端直接使用netstandard來獲取平台的功能,目前各平台對應的.NET平台標準有[1][4][5][6]

更多資訊 目標平台, 1.0 ...

.NET平台標準的版本戳記為netstandardx.y,其中x表示主版號y表示副版號,例如netstandard10 = .NET Standard 1.0、netstandard1.5 = .NET Standard 1.5。

對應於可攜式的版本

.NET平台標準對應到之前的可攜式類別庫的版本戳記,若使用者端需要特別針對特定的平台版本進行對應時,可以使用import的功能匯入(這是供.NET Core應用程式的功能)。

更多資訊 可攜式版本參考, .NET平台標準版本 ...

針對Mono以及Xamarin等平台,平台標準的起始為1.4(版本戳記為netstandard1.4)[3]

Remove ads

支援工具

目前可使用netstandard版本別稱的平台僅有.NET Core以及ASP.NET Core,但未來會擴及其他工具。

下列工具為預定支援 netstadard 版本別稱的工具[5]

  • Visual Studio 2022
  • Visual Studio 2019
  • Visual Studio 2017(版本 15.3 或更高版本)
  • Visual Studio 2015(必須加入NuGet擴充套件)。
  • Visual Studio 2013(必須加入NuGet擴充套件)。
  • Visual Studio 2012(必須加入NuGet擴充套件)。
  • NuGet CLI(指令列介面) 3.x
  • NuGet CLI 2.x
  • .NET CLI
  • Xamarin Studio

注釋

參考資料

Loading content...

外部連結

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads