閱讀英文

共用方式為


.NET 5 中的重大變更

若您要將應用程式移轉至 .NET 5,則可能會受此處列出的重大變更影響。 變更會依技術領域分組,例如 ASP.NET Core 或加密。

本文會表示各項中斷性變更為二進位相容來源相容

  • 二進位相容 - 現有的二進位檔會在不重新編譯的情況下成功載入和執行,而且執行階段行為不會變更。
  • 來源相容 - 以新執行階段為目標或使用新的 SDK 或元件時,原始程式碼會成功編譯且不會變更。

ASP.NET Core

標題 二進位相容 來源相容
ASP.NET Core 應用程式還原序列化加上引號的數字 ✔️
AzureAD.UI 與 AzureADB2C.UI API 已過時 ✔️
BinaryFormatter 序列化方法已過時 ✔️
端點路由中的資源是 HttpContext ✔️
已移除前置詞為 Microsoft 的 Azure 整合套件 ✔️
Blazor: Blazor 應用程式中的路由優先順序邏輯已變更 ✔️
Blazor:已更新瀏覽器支援 ✔️ ✔️
Blazor: 編譯器已修剪不重要的空白字元 ✔️
Blazor:JSObjectReference 與 JSInProcessObjectReference 類型為內部 ✔️
Blazor:NuGet 套件的目標 Framework 已變更 ✔️
Blazor:ProtectedBrowserStorage 功能已移至共用架構 ✔️
Blazor:RenderTreeFrame 唯讀公用欄位現在是屬性 ✔️
Blazor:已更新靜態 Web 資產的驗證邏輯 ✔️
瀏覽器不支援密碼編譯 API ✔️
延伸模組:套件參考變更 ✔️
Kestrel 與 IIS BadHttpRequestException 類型已過時 ✔️
IHttpClientFactory 記錄整數狀態碼所建立的 HttpClient 執行個體 ✔️
HttpSys:用戶端憑證重新交涉預設已停用 ✔️
IIS:UrlRewrite 中介軟體查詢字串已保留 ✔️
Kestrel: 預設會偵測到設定變更 ✔️
Kestrel:預設支援的 TLS 通訊協定版本已變更 ✔️
Kestrel:在不相容的 Windows 版本上,TLS 上的 HTTP/2 已停用 ✔️ ✔️
Kestrel:Libuv 傳輸已標示為過時 ✔️
ConsoleLoggerOptions 上的已過時屬性 ✔️
已移除 ResourceManagerWithCultureStringLocalizer 類別與 WithCulture 介面成員 ✔️
已移除「Pubternal」API ✔️
已在要求當地語系化中介軟體中移除過時的函式 ✔️
中介軟體:資料庫錯誤頁面已標示為已過時 ✔️
例外狀況處理常式中介軟體擲回原始例外狀況 ✔️ ✔️
ObjectModelValidator 呼叫驗證的新多載 ✔️
Cookie 名稱編碼已移除 ✔️
已更新 IdentityModel NuGet 套件版本 ✔️
SignalR:MessagePack 中樞通訊協定選項類型已變更 ✔️
SignalR: MessagePack 中樞通訊協定已移動 ✔️
已移除 UseSignalR 與 UseConnections 方法 ✔️
CSV 內容類型已變更為與標準相容 ✔️

程式碼分析

標題 二進位相容 來源相容
CA1416 警告 ✔️
CA1417 警告 ✔️
CA1831 警告 ✔️
CA2013 警告 ✔️
CA2014 警告 ✔️
CA2015 警告 ✔️
CA2200 警告 ✔️
CA2247 警告 ✔️

Core .NET 程式庫

密碼編譯

Entity Framework Core

EF Core 5.0 的中斷性變更

全球化

Interop

網路

SDK

安全性

標題 二進位相容 來源相容
程式碼存取安全性 API 已過時 ✔️
PrincipalPermissionAttribute 已過時 ✔️
UTF-7 程式碼路徑已過時 ✔️

序列化

Windows Forms

WPF

標題 二進位相容 來源相容
OutputType 設定為 WinExe ✔️
WPF 應用程式使用 Microsoft.NET.Sdk ✔️

另請參閱