.NET 11 的重大變更

如果你正在將應用程式遷移到 .NET 11,這裡列出的破壞性變更可能會影響你。 變更依技術領域分類,例如 ASP.NET Core 或 Windows Forms。

本文會將每個重大變更分類為「二進位不相容」或「來源不相容」,或分類為「行為變更」

  • 二進位不相容 - 針對新的執行階段或元件執行時,現有的二進位檔可能會發生重大行為變更,例如載入或執行失敗,如果發生此情況,則需要重新編譯。

  • 來源不相容 - 使用新的 SDK 或元件重新編譯,或以新的執行階段為目標時,現有的原始程式碼可能需要來源變更才能順利編譯。

  • 行為改變 ——現有程式碼與二進位檔在執行時可能有不同的行為。 如果不需要新的行為,則必須更新並重新編譯現有的程式碼。

備註

本文為進行中的作業。 這並不是 .NET 11 中所有重大變更的完整清單。

核心 .NET 函式庫

Title 變更類型
讀取 ZIP 壓縮檔條目時新增的 CRC32 驗證功能 行為變更
DateOnly 與 TimeOnly TryParse 方法對無效輸入會拋出 行為變更
DeflateStream 與 GZipStream 會為空有效載荷寫入標頭與頁尾 行為變更
已將 Environment.TickCount 調整為與 Windows 的逾時行為一致 行為變更
MemoryStream 最大容量更新,例外行為改變 行為變更
API 過時,帶有非預設診斷 ID(.NET 11) 來源不相容
TAR 讀取 API 在讀取時會驗證標頭校驗和 行為變更
TarWriter 對硬連結檔案使用 HardLink 條目 行為變更
ZipArchive.CreateAsync 熱切地載入 ZIP 壓縮檔項目 行為變更

Cryptography

Title 變更類型
DSA 已從 macOS 中移除 行為變更

擴充功能

Title 變更類型
當 BackgroundService 失敗時,IHost.RunAsync 與 IHost.StopAsync 會拋出 行為變更

Globalization

Title 變更類型
日本曆最小支援日期已修正 行為變更

Interop

Title 變更類型
NativeAOT 在 Unix 上使用 lib 前綴作為原生函式庫輸出 行為變更

JIT 編譯器

Title 變更類型
最低硬體需求已更新 行為變更

網路

Title 變更類型
SslStream 伺服器端 AIA 憑證下載預設為停用 行為變更

SDK 和 MSBuild

Title 變更類型
mono 啟動目標未設定為 .NET Framework 應用程式 行為變更