盡管 .NET5 框架中提供了一組重要 API,但它并不包括過去20年左右開發的所有 API,但是.NET Standard 2.1 中標識的所有 API 都將受到支持。一些更“舊”的 API(包括 Web Forms、windows Communication Foundation (WCF) 服務和 Windows 工作流)將不受支持。它們注定只保留在 .NET Framework 中。如果希望在 .NET5 中實現相同的功能,請考慮移植以下 API:
- ASP.NET Web Forms => ASP.NET Blazor
- WCF 服務器和遠程處理 => gRPC
- Windows Workflow (WF) => Core WF (github.com/UiPath/corewf) 、ELSA.NET(https://elsa-workflows.github.io/elsa-core/)
缺少 WCF 服務器支持無疑會讓一些人失望。然而,Microsoft 最近決定在 MIT 開放源碼許可證下發布軟件,其命運掌握在社區手中(請參閱
github.com/CoreWCF/CoreWCF)。要獨立于 .NET Framework 發布還有大量的工作要做,但與此同時,客戶端 WCF API 可用(請參閱 github.com/dotnet/wcf)。
.NET5中的新增功能
與.NET Core 3.1相比,.NET 5.0包括以下改進和新功能:
- C#更新
- F#更新
- Visual Basic更新
- System.Text.Json的新功能單文件應用
保留引用并處理循環引用HttpClient和HttpContent擴展方法允許或在引號中寫數字支持不可變類型和C#9記錄支持非公共財產訪問者支持領域有條件地忽略屬性支持非字符串鍵字典允許自定義轉換器處理null復制JsonSerializerOptions使用Web默認值創建JsonSerializerOptions - 應用修整(DLL體積更小)
- 支持Windows ARM64
- 轉儲調試的工具支持
- 對于可空引用類型,運行時庫有80%的注釋
- 持續的性能改進:垃圾收集(GC)系統文本System.Text.RegularExpressions異步ValueTask池容器尺寸優化(鏡像體積更小)更多地區
參考文獻:
https://docs.microsoft.com/zh-cn/dotnet/core/dotnet-five
https://docs.microsoft.com/zh-cn/aspnet/core/release-notes/aspnetcore-5.0?view=aspnetcore-5.0