共用方式為


已移除內建的 BinaryFormatter 實作,且一律會擲回

“in box” BinaryFormatter 實作現在在所有情況下都會在運行時間擲回例外狀況。 這是 BinaryFormatter obsoletion 計劃的最後階段

先前的行為

您可以建構 BinaryFormatter 實例,並用它來串行化和還原串行化承載。

新的行為

從 .NET 9 開始,內建 BinaryFormatter 實作會在使用時擲回例外狀況,即使先前啟用其使用設定也是如此。 這些設定也會移除。

導入的版本

.NET 9 Preview 6

中斷性變更的類型

此變更為行為變更

變更原因

BinaryFormatter 是不安全的格式,也是許多安全性錯誤的原因。 從架構中移除它會增加 .NET 的整體安全性。

如果您的程式代碼使用 BinaryFormatter,您應該選取新的串行化格式並移轉程式代碼。

如果您判斷使用案例可接受的 BinaryFormatter 風險,且您承諾使用無法確保安全的類別,您仍然可以透過個別且不支援的 NuGet 套件使用 BinaryFormatter

如需詳細資訊,包括替代串行化程式的指引,請參閱 BinaryFormatter 移轉指南

受影響的 API

另請參閱