-
.NET標準
鎖定
- 中文名
- .NET標準
- 外文名
- .NET Standard
- 領 域
- 計算機
.NET標準歷史
.NET Framework長期以來一直是微軟視窗平台上的特色與標準,它也成功的實現跨微軟視窗平台的應用程序接口,但最為人詬病的一點是它無法跨出微軟視窗平台,雖然有Mono這樣的Framework可跨平台,但是Mono畢竟不是官方實現,在.NET兼容性上也無法達到百分之百兼容,而在微軟以.NET Core與ASP.NET Core投入真正跨平台的架構與框架開發時,勢必要面臨這個問題。
.NET平台標準的基礎是.NET Framework上的便攜式類庫,但為它賦與了更標準的作法以及更容易識別的版本戳記。
.NET平台標準的原理如下所示:
- 平台擁有者自詳細的.NET平台標準版本中實現引用組件。
- 平台擁有者可能會自詳細的.NET平台標準版本實現引用組件的子集。
- 任何.NET平台標準引用組件中的API表層變更都會影響版本。
.NET標準運作方式
.NET平台標準由微軟提供引用組件,引用組件置於微軟的CoreFX存儲庫,每一個定義的名字空間與類別都有一個ref文件夾,裏面即是默認的實現碼,所有參與.NET平台標準的實現者都必須要實現這些屬性與方法,才能兼容於.NET平台標準,而CoreFX也有提供實現碼,供實現的引用之用,在大多數的情況,各平台的差異性並不高。
[1]
當庫已實現成.NET平台標準兼容的庫後,客户端就可以使用目標平台別稱(Target Platform Moniker,TPM)來加入其引用,其命名規則是portable-a+b+c+d+...,portable表示它是便攜式的類庫,a, b, c, d則是要支持的平台別:
平台 | 定址名稱 | 説明 |
---|---|---|
.NET Framework | net | 針對Windows與Windows Server的.NET Framework版本,通常是以.NET Framework版本戳記為主,並省略小數點。 |
.NET Core | netcore | 使用於Windows Store App開發的.NET Framework版本。 |
.NET Micro Framework | netmf | 對.net framework的支持。 |
Windows | win | 使用於Windows Store App開發。 |
sl | 對應於Silverlight。 | |
wp | 對應於Windows Phone平台。 | |
DNX | dnx | 對應於ASP.NET Core for Windows(但可預見的未來可能會被netcore取代)。 |
DNX Core | dnxcore | 對應於ASP.NET Core for Core CLR(但可預見的未來可能會被netcore取代)。 |
uap | 對應於Windows 10的UWP平台。uap對應於uap10、uap10 = Windows 10。 | |
已取消的平台 | aspnet50 aspnetcore50 winrt |
.NET標準版本
.NET平台標準使用netstandard來代表一個平台的標準,客户端直接使用netstandard來獲取平台的功能,各平台對應的.NET平台標準有:
目標平台 | 1.0 | 1.1 | 1.2 | 1.3 | 1.4 | 1.5 | 1.6 | 2.0 |
---|---|---|---|---|---|---|---|---|
.NET Core | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 2.0 |
.NET Framework (使用v1之工具時) | 4.5 | 4.5 | 4.5.1 | 4.6 | 4.6.1 | 4.6.2 | vNext | 4.6.1 |
.NET Framework (使用v2之工具時) | 4.5 | 4.5 | 4.5.1 | 4.6 | 4.6.1 | 4.6.1 | 4.6.1 | 4.6.1 |
Mono | 4.6 | 4.6 | 4.6 | 4.6 | 4.6 | 4.6 | 4.6 | vNext |
Xamarin.iOS | 10.0 | 10.0 | 10.0 | 10.0 | 10.0 | 10.0 | 10.0 | vNext |
Xamarin.Android | 7.0 | 7.0 | 7.0 | 7.0 | 7.0 | 7.0 | 7.0 | vNext |
Universal Windows Platform | 10.0 | 10.0 | 10.0 | 10.0 | 10.0 | vNext | vNext | vNext |
Windows | 8.0 | 8.0 | 8.1 | |||||
Windows Phone | 8.1 | 8.1 | 8.1 | |||||
Windows Phone Silverlight | 8.0 |
.NET平台標準的版本戳記為netstandardx.y,其中x表示主版號y表示副版號,例如netstandard10 = .NET Standard 1.0、netstandard1.5 = .NET Standard 1.5。
[2]
.NET標準對應於便攜式的版本
.NET平台標準對應到之前的便攜式類庫的版本戳記,若客户端需要特別針對特定的平台版本進行對應時,可以使用import的功能導入(這是供.NET Core應用程序的功能)。
便攜式版本引用 | .NET平台標準版本 |
---|---|
.NET Framework 4.5, Windows 8 | 1.1 |
Windows 8.1, Windows Phone Silverlight 8.1 | 1.0 |
Windows 8.1, Windows Phone 8.1 | 1.2 |
.NET Framework 4.5.1, Windows 8.1 | 1.2 |
.NET Framework 4.5, Windows Phone Silverlight 8 | 1.0 |
.NET Framework 4.5, Windows 8, Windows Phone Silverlight 8 | 1.0 |
Windows Phone 8.1, Windows Phone Silverlight 8.1 | 1.0 |
.NET Framework 4.5, Windows 8, Windows Phone 8.1 | 1.1 |
.NET Framework 4.5.1, Windows 8.1, Windows Phone 8.1 | 1.2 |
Windows 8.1, Windows Phone 8.1, Windows Phone Silverlight 8.1 | 1.0 |
.NET Framework 4.5, Windows 8, Windows Phone 8.1, Windows Phone Silverlight 8 | 1.0 |
.NET標準支持工具
可使用netstandard版本別稱的平台僅有.NET Core以及ASP.NET Core,但未來會擴及其他工具。
下列工具為預定支持 netstadard 版本別稱的工具:
- Visual Studio 2015(必須加入NuGet擴展)。
- Visual Studio 2013(必須加入NuGet擴展)。
- Visual Studio 2012(必須加入NuGet擴展)。
- NuGet CLI(指令列接口) 3.x
- NuGet CLI 2.x
- .NET CLI
- 參考資料
-
- 1. "Install the .NET Framework on Windows 10 and Windows Server 2016". Microsoft. 20 December 2017.
- 2. "ASP.NET Core License". GitHub. .NET Foundation. 5 July 2017. Retrieved 14 April 2018.
- 3. ".NET Micro Framework". dotnetfoundation.org. .NET Foundation. Archived from the original on 17 February 2015. Retrieved 17 February 2015.
- 詞條統計
-
- 瀏覽次數:次
- 編輯次數:5次歷史版本
- 最近更新: 小妖孽030