.NET Standard 的新功能
.NET Standard 是一種正式規格,定義一組版本設定的 API,該 API 必須在符合該標準版本的 .NET 實作上取得。 .NET Standard 是針對程式庫開發人員的。 以 .NET Standard 版本為目標的連結庫可用於支援該標準版本的任何 .NET 實作。
.NET Standard 隨附於 .NET SDK。 如果您選取 .NET 工作負載,也會隨附在 Visual Studio 中。
.NET Standard 2.1 是即將發行的最後一個 .NET Standard 版本。 如需詳細資訊,請參閱 .NET 5+ 和 .NET Standard。
支援的 .NET 實作
下列 .NET 實作支援 .NET Standard 2.1:
- .NET Core 3.0 或更新版本 (包括 .NET 5 和更新版本)
- Mono 6.4 或更新版本
下列 .NET 實作支援 .NET Standard 2.0:
- .NET Core 2.0 或更新版本 (包括 .NET 5 和更新版本)
- .NET Framework 4.6.1 或更新版本
- Mono 5.4 或更新版本
- 通用 Windows 平臺 10.0.16299 或更新版本
.NET Standard 2.1 的新功能
.NET Standard 2.1 會將許多 API 新增至標準。 其中有些是新的 API,而另一些則是可協助進一步聚合 .NET 實作的現有 API。 如需已新增至 .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 子集。 在排除的 API 中,有許多在 .NET Framework 中常用的 API。 這增加了開發的難度,因為開發人員在開發以多個 .NET 實作為目標的應用程式和函式庫時,需要找到適合的替代熟悉的 API。 .NET Standard 2.0 可藉由新增超過 20,000 個 API,比舊版標準 .NET Standard 1.6 更多的 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.AdjustmentRule 和 TimeZoneInfo.TransitionTime 類別。
- 在 Type 類別中功能大幅增強。
- 為了更好地支援例外物件的反序列化,新增了一個具有 SerializationInfo 和 StreamingContext 參數的例外建構函式。
支援 .NET Framework 函式庫
許多程式庫是針對 .NET Framework 而非 .NET Standard。 不過,這些函式庫中的大部分呼叫都是 .NET Standard 2.0 中包含的 API。 從 .NET Standard 2.0 開始,您可以使用 相容性程式庫,從 .NET Standard 程式庫存取 .NET Framework 程式庫。 此相容性層對開發人員而言是透明的;您不需要執行任何動作即可利用 .NET Framework 連結庫。
單一需求是 .NET Framework 類別庫所呼叫的 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 Library 專案。 如需詳細資訊,請參閱 .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 連結庫專案,如下圖所示:
如果您使用 .NET CLI,下列 dotnet new 命令會建立以 .NET Standard 2.0 為目標的類別庫專案:
dotnet new classlib