BinaryFormatter のインボックス実装が削除され、常に例外がスローされる
BinaryFormatter の "インボックス" 実装では、あらゆるケースで実行時に例外がスローされるようになりました。 これは、BinaryFormatter 廃止計画の最終段階です。
以前の動作
BinaryFormatter インスタンスを作成し、それを使用してペイロードのシリアル化と逆シリアル化を行うことができました。
新しい動作
.NET 9 以降、BinaryFormatter のインボックス実装では使用時に例外がスローされます。このことは、以前にその使用を有効にした設定の場合も同様です。 それらの設定も削除されます。
導入されたバージョン
.NET 9 Preview 6
破壊的変更の種類
この変更は、動作変更です。
変更理由
BinaryFormatter
は安全でない形式であり、多くのセキュリティバグの原因となります。 これをフレームワークから削除すると、.NET の全体的な安全性が向上します。
推奨される操作
コードで BinaryFormatter
を使用する場合は、新しいシリアル化形式を選択し、コードを移行する必要があります。
BinaryFormatter
のリスクをユースケースで許容できると判断し、セキュリティで保護できないクラスを使用することにした場合は、サポートされていない別の NuGet パッケージを通じて引き続き BinaryFormatter
を使用できます。
代替のシリアライザーに関するガイダンスを含む詳細については、「BinaryFormatter 移行ガイド」を参照してください。
影響を受ける API
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET