經過一年多的開發,Microsoft 於北京時間 11 月 11 日(星期三)發布了其 .NET 5軟件開發平台,強調平台的統一,並引入了 C# 9 和 F# 5 編程語言,新平台朝着桌面、Web、移動、雲和 IoT 目標統一 .NET 開發體驗的方向發展。.NET 5被描述為 Microsoft .NET 統一之旅中的第一個版本,它是為了使更多的開發人員群體能夠將 .NET 框架代碼和應用遷移到 .NET 5。該平台將來自 .NET Framework、.NET Core 和 Mono 的元素組合在一起,為所有現代 .NET 代碼創建單個平台。工作已經完成,不過 Xamarin 開發人員還需要在一年內發布 .NET 6.0 時使用 .NET 平台。
.NET 5 可從dotnet.microsoft.com或新發布的 Visual Studio 2019 更新 16.8 得到。.NET 5 中的其他關鍵功能包括:
- Windows ARM64 支持。
- Windows 桌面開發增強功能。
- 改進了 JSON 序列化器 API。
- 空的引用類型注釋。
- Web 和雲原生。
- 單個文件應用程序和較小的容器映像。
- 性能提高,gRPC 性能超過 Go、C++ Java。
- 全堆棧 .NET 應用與Blazor Web UI 框架,支持 Blazor 服務器和 Blazor WebAssembly,它支持 .NET Core框架庫,並在 .NET 5 中跑的更快。
- 新的模型是支持WinRT API的特色,包括調用 API、在兩個類型系統之間封送數據以及要跨類型系統或 ABI 邊界處理相同的類型的統一。現有的 WinRT 互操作系統已從 .NET 運行時中刪除。
同時,C# 9側重於程序簡單性、面向數據的類和更多模式。F# 5是微軟函數編程語言的升級,添加了插值字符串和打開類型聲明。此外, NET 5 中的ASP.NET Core Web 開發平台還改進了 MVC 模型綁定、Azure AD 身份驗證和 SignlR 集線器篩選器和並行集線器調用。
Microsoft 對 .NET 的願景推薦采用 .NET 5 到 .NET 6" Wave",該"Wave"包括單個 SDK、跨平台本機 UI 和雲原生投資。計划要求每年 11 月發布主要 .NET 版本,所有其他版本都是長期支持版本。下一個 LTS 版本是 NET 6.0。將根據需要提供次要版本。