SerializationFormat.Binary は廃止されました

SerializationFormat.BinaryDataTableDataSet で非推奨になりました。 バイナリ シリアル化は BinaryFormatter に依存します。これは安全ではありません。 コードで SerializationFormat.Binary を使用する場合、非推奨警告 SYSLIB0038 がコンパイル時に生成されます。

また、次の場合、実行時に InvalidEnumArgumentException がスローされます。

以前の動作

以前は、DataTableDataSet は、RemotingFormat プロパティを SerializationFormat.Binary に設定したときにシリアル化と逆シリアル化されることがありました。その設定では BinaryFormatter が使用されました。

新しい動作

.NET 7 以後、RemotingFormat プロパティを SerializationFormat.Binary に設定し、DataTableDataSet をシリアル化または逆シリアル化しようとした場合、InvalidEnumArgumentException がスローされます。

導入されたバージョン

.NET 7

破壊的変更の種類

この変更は、ソースの互換性バイナリの互換性に影響する可能性があります。

変更理由

SerializationFormat.BinaryBinaryFormatter 経由で実装されます。これは安全でなく、.NET スタック全体で非推奨になっています。

コードで SerializationFormat.Binary が使用される場合、SerializationFormat.Xml の使用に切り替えるか、別のシリアル化方法を使用してください。

それ以外の場合、Switch.System.Data.AllowUnsafeSerializationFormatBinaryAppContext スイッチを設定できます。 このスイッチでは、SerializationFormat.Binary の使用の許可を選択できます。コードが以前のように動作します。 ただし、このスイッチは .NET 8 で削除されます。 スイッチ設定の詳細については、「ライブラリ コンシューマーの AppContext」を参照してください。

影響を受ける API

関連項目