閱讀英文

共用方式為


.NET 9 中的中斷性變更

若您要將應用程式移轉至 .NET 9,則可能會受此處列出的中斷性變更影響。 變更會依技術領域分組,例如 ASP.NET Core 或 Windows Forms。

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

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

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

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

注意

本文為進行中的作業。 這不是 .NET 9 中斷性變更的完整清單。 若要查詢仍暫待發行的重大變更,請參閱 .NET 的問題

ASP.NET Core

容器

標題 變更類型 引進的版本
.NET 9 容器映像不再安裝 zlib 行為變更 Preview 7

Core .NET 程式庫

密碼編譯

標題 變更類型 引進的版本
SafeEvpPKeyHandle.DuplicateHandle 向上參照控制代碼 (英文) 行為變更 Preview 7
部分 X509Certificate2 和 X509Certificate 建構函式已淘汰 (英文) 來源不相容 Preview 7
Windows 私密金鑰存留期已簡化 行為變更 Preview 7

部署

標題 變更類型 引進的版本
已被取代的桌面 Windows/macOS/Linux MonoVM 執行階段套件 來源不相容 Preview 7

Interop

標題 變更類型 引進的版本
默認支援 CET 二進位不相容 Preview 6

JIT 編譯器

標題 變更類型 引進的版本
飽和的浮點數至整數轉換 行為變更 Preview 4
部分 SVE API 已移除 來源不相容 RC 2

網路

SDK 和 MSBuild

標題 變更類型 引進的版本
dotnet restore 稽核可轉移套件 行為變更 Preview 6
dotnet watch與舊架構的 熱重新載入 不相容 行為變更 RC 1
dotnet workload 命令輸出變更 行為變更 Preview 1
不再記載 installer 存放庫版本 行為變更 Preview 5
終端記錄器是預設值 行為變更 Preview 1
.NET 9 SDK 的版本需求 來源不相容 GA
針對 .NET Standard 1.x 目標發出的警告 來源不相容 Preview 6
針對 .NET 7 目標發出的警告 來源不相容 GA

序列化

標題 變更類型 引進的版本
BinaryFormatter 一律會擲回 行為變更 Preview 6

Windows Forms

標題 變更類型 引進的版本
BindingSource.SortDescriptions 不會傳回 null 行為變更 Preview 1
可 NULL 性註釋的變更 來源不相容 Preview 1
ComponentDesigner.Initialize 擲回 ArgumentNullException 行為變更 Preview 1
DataGridViewRowAccessibleObject.Name 開始資料列索引 行為變更 Preview 1
IMsoComponent 支援為選擇加入 行為變更 Preview 2
新的安全性分析器 來源不相容 RC 1
如果 DataGridView 為 null,則沒有例外狀況 行為變更 Preview 1
PictureBox 引發 HttpClient 例外狀況 行為變更 Preview 6

WPF

標題 變更類型 引進的版本
GetXmlNamespaceMaps 類型變更 行為變更/來源不相容 Preview 3

另請參閱