共用方式為


ASP.NET Core 5 的重大變更

如果你正在將應用程式遷移到 ASP.NET Core 5,這裡列出的重大變更可能會影響你。 變更會依技術區域分組,例如 ASP.NET Core 或密碼編譯。

本文指出每個中斷性變更是 二進制相容原始碼相容

  • 二進位相容 - 現有的二進位檔能在不重新編譯的情況下順利載入並執行,執行時行為也不會改變。
  • 來源相容 - 原始碼會在目標為新的運行時間或使用新的 SDK 或元件時順利編譯,而不會變更。
Title 二進位相容 來源相容
ASP.NET Core 應用程式反序列化帶引號的數字 ✔️
AzureAD.UI 和 AzureADB2C.UI API 已過時 ✔️
BinaryFormatter 串行化方法已過時 ✔️
端點路由中的資源為 HttpContext ✔️
已移除以 Microsoft 為前綴的 Azure 整合套件 ✔️
Blazor:Blazor 應用程式中的路由優先順序邏輯已更改 ✔️
Blazor: 更新的瀏覽器支援 ✔️ ✔️
Blazor:由編譯器移除的不重要的空格 ✔️
Blazor: JSObjectReference 與 JSInProcessObjectReference 類型為內部 ✔️
Blazor: NuGet 套件的目標框架已更改 ✔️
Blazor: ProtectedBrowserStorage 功能移至共享框架 ✔️
Blazor: RenderTreeFrame 的可讀公用欄位現在成為屬性 ✔️
Blazor:靜態網頁資產的更新驗證邏輯 ✔️
瀏覽器不支援密碼編譯 API ✔️
擴充功能:套件引用變更 ✔️
Kestrel 以及 IIS BadHttpRequestException 類型已過時 ✔️
IHttpClientFactory 所建立的 HttpClient 實例會記錄整數狀態代碼 ✔️
HttpSys:預設已停用用戶端憑證重新談判 ✔️
IIS:UrlRewrite 中間件查詢字串會保留 ✔️
Kestrel: 此為預設偵測到的設定變更 ✔️
Kestrel: 預設支援的 TLS 協定版本變更 ✔️
Kestrel: HTTP/2 在不相容的 Windows 版本中透過 TLS 被停用 ✔️ ✔️
Kestrel:標記為過時的 Libuv 運輸 ✔️
ConsoleLoggerOptions 上的過時屬性 ✔️
已移除 ResourceManagerWithCultureStringLocalizer 類別和 WithCulture 介面成員 ✔️
已移除 Pubternal API ✔️
要求當地語系化中間件中已移除過時的建構函式 ✔️
中間件:標示為過時的資料庫錯誤頁面 ✔️
例外狀況處理程式中間件擲回原始例外狀況 ✔️ ✔️
ObjectModelValidator 會呼叫 Validate 方法的新的多載版本 ✔️
Cookie 名稱編碼已移除 ✔️
已更新 IdentityModel NuGet 套件版本 ✔️
SignalR: MessagePack Hub 協定選項類型變更 ✔️
SignalR: MessagePack 中心協議已移動 ✔️
已移除UseSignalR和UseConnections方法 ✔️
CSV 內容類型已變更為符合標準的規範 ✔️