.NET Standard 的新功能

.NET Standard 是定義 API 的版本集正式規格,必須能在遵守該版本標準的 .NET 實作中取得。 .NET Standard 是以程式庫開發人員為目標。 以 .NET Standard 版本為目標的程式庫可以用於任何支援該標準版本的 .NET 或 Xamarin 實作。

.NET Standard 隨附於 .NET SDK 中。 如果您選取 .NET 工作負載,則也會隨附於 Visual Studio。

.NET Standard 2.1 是 .NET Standard 的最後版本並即將發行。 如需詳細資訊,請參閱 .NET 5+ 和 .NET Standard

支援的 .NET 實作

.NET Standard 2.1 支援下列 .NET 實作:

  • .NET Core 3.0 或更新版本 (包含 .NET 5 和更新版本)
  • Mono 6.4 或更新版本
  • Xamarin.iOS 12.16 或更新版本
  • Xamarin.Android 10.0 或更新版本

.NET Standard 2.0 支援下列 .NET 實作:

  • .NET Core 2.0 或更新版本 (包含 .NET 5 和更新版本)
  • .NET Framework 4.6.1 或更新版本
  • Mono 5.4 或更新版本
  • Xamarin.iOS 10.14 或更新版本
  • Xamarin.Mac 3.8 或更新版本
  • Xamarin.Android 8.0 或更新版本
  • 通用 Windows 平台 10.0.16299 或更新版本

.NET Standard 2.1 的新功能

.NET Standard 2.1 將許多 API 新增至標準。 其中有些是新的 API,而其他則為現有的 API,可協助進一步合併 .NET 實作。 如需新增到 .NET Standard 2.1 的 API 清單,請參閱 .NET Standard 2.1 與 2.0 的差異

如需詳細資訊,請參閱宣布 .NET Standard 2.1 部落格文章。

.NET Standard 2.0 的新功能

.NET Standard 2.0 包含下列新功能。

一組大幅擴充的 API

透過 1.6 版,.NET Standard 包含相較小的 API 子集。 其中排除那些經常用於 .NET Framework 或 Xamarin 的許多 API。 這讓開發變得複雜,因為當開發人員開發以多個 .NET 實作為目標的應用程式和程式庫時,他們必須尋找熟悉的 API 之合適替代方案。 .NET Standard 2.0 藉由新增比在 .NET Standard 1.6 (前一版本) 中還多 20,000 多個 API 來解決此限制。 如需新增到 .NET Standard 2.0 的 API 清單,請參閱 .NET Standard 2.0 與 1.6 的差異

一些新增到 .NET Standard 2.0 中 System 命名空間的項目包括:

  • AppDomain 類別的支援。
  • Array 類別中其他成員使用陣列的更好之支援。
  • Attribute 類別中其他成員使用屬性的更好之支援。
  • DateTime 值的更好之行事曆支援和其他格式選項。
  • 其他 Decimal 四捨五入功能。
  • Environment 類別中的其他功能。
  • 增強透過 GC 類別的記憶體回收行程的控制。
  • 增強 String 類別中字串比較、列舉和正規化的支援。
  • 支援日光節約調整和 TimeZoneInfo.AdjustmentRuleTimeZoneInfo.TransitionTime 類別中的轉換時間。
  • 大幅增強 Type 類別中的功能。
  • 藉由新增包含 SerializationInfoStreamingContext 參數的例外狀況建構函式,提供例外狀況物件還原序列化更好的支援。

.NET Framework 程式庫的支援

許多程式庫會以 .NET Framework 為目標,而不是以 .NET Standard 為目標。 不過,那些程式庫中的大部分呼叫都是呼叫 .NET Standard 2.0 中包含的 API。 從 .NET Standard 2.0 開始,您可以使用相容性填充碼從 .NET Standard 程式庫存取 .NET Framework。 此相容性層級對開發人員是透明的,您不需要執行任何動作就能利用.NET Framework 程式庫。

唯一的要求是由 .NET Framework Class Library 呼叫的 API 必須包含在 .NET Standard 2.0 中。

Visual Basic 的支援

您現在可以在 Visual Basic 中開發 .NET Standard 程式庫。 已安裝 .NET Core 工作負載的 Visual Studio 2019 和 Visual Studio 2017 版本 15.3 或更新版本包含 .NET Standard 類別庫範本。 對於使用其他開發工具和環境的 Visual Basic 開發人員,您可以使用 dotnet new 命令來建立 .NET Standard 程式庫專案。 如需詳細資訊,請參閱 .NET Standard 程式庫的工具支援

.NET Standard 程式庫的工具支援

隨 .NET Core 2.0 和 .NET Standard 2.0 的發行,Visual Studio 2017 和 .NET CLI 也都包含建立 .NET Standard 程式庫的工具支援。

如果您安裝包含 .NET Core 跨平台開發工作負載的 Visual Studio,就可以使用專案範本來建立 .NET Standard 2.0 程式庫專案,如下圖所示:

Add New .NET Standard library project

如果您是使用 .NET CLI,下列 dotnet new 命令會建立以 .NET Standard 2.0 為目標的類別庫專案:

dotnet new classlib

另請參閱