微軟停止更新 .NET Standard,.NET 5 取而代之


原文地址:

  https://www.oschina.net/news/118690/the-future-of-net-standard

作者:局長

  微軟 .NET 官方博客近日發布了一篇談論 .NET Standard 未來的文章。文章作者是 .NET 項目經理 Immo,他在文章中指出未來 .NET Standard 將會被 .NET 5 取代,還對 .NET 5 如何改進代碼共享以及取代 .NET Standard 這個說法進行了解釋,此外還介紹了仍然需要 .NET Standard 的情況。

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

因為 .NET 5 將會是具有統一功能和 API 的單一產品,可用於開發 Windows 桌面應用程序、跨平台移動應用程序、控制台應用程序,以及雲端服務和網站。而且為了更好地體現 .NET 5 的定位,微軟還更新了目標框架名稱(TFM, Target Framework Name)。

.NET Standard 的出現是為了提供 .NET 統一跨平台的基礎函數庫,方便開發者編寫在任何平台執行的函數庫,但 Immo 指出了 .NET Standard 存在 3 個問題,包括版本更新緩慢、.NET Standard 版本與 .NET 實現的映射較為復雜以及 .NET Standard 包含了特定於平台的功能,因此無法靜態驗證代碼是否真正可移植。

.NET 5 針對這些問題均提供了解決方案,而且 .NET 5 和未來的版本將會支持 .NET Standard 2.1 以及更早版本,因此開發者可以不需要更新現有程序,不過如果開發者希望使用額外的 Runtime 功能、語言功能以及 API,可以選擇將 .NET Standard 升級使用 .NET 5。

對於新項目應該從 .NET Standard 2.0 開始還是直接使用 .NET 5 的問題,Immo 認為主要取決於應用程序組件和可重用的庫。當開發者使用函數庫將應用程序分解成多個組件,為簡單起見,組成應用程序的所有項目最好都位於同一版本的 .NET 上,此時可以考慮 .NET 5。如果要構建計划在 NuGet 上使用的可重用庫,則需要考慮可用的功能集,.NET Standard 2.0 是 .NET Framework 支持 .NET Standard 的最高版本,其提供了龐大的功能集,覆蓋范圍廣。

總結:

  • 用於在 .NET Framework 和所有其他平台之間共享代碼,使用netstandard2.0
  • 用於在 Mono,Xamarin 和 .NET Core 3.x 之間共享代碼,使用netstandard2.1
  • 向后共享代碼,使用net5.0

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM