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