Megosztás a következőn keresztül:


A SzerializationFormat.Binary elavult

SerializationFormat.Binaryelavult az és DataSeta DataTable . A bináris szerializálás a nem biztonságosra támaszkodik BinaryFormatter. Ha a kódban használja SerializationFormat.Binary , a rendszer a fordítási időpontban létrehozza az obszoleciós figyelmeztetést SYSLIB0038 .

Emellett InvalidEnumArgumentException futásidőben is ki lesz dobva, ha:

Előző viselkedés

Korábban, DataTable és DataSet lehet szerializálni és deszerializálni a RemotingFormat tulajdonság beállítvaSerializationFormat.Binary, amely a motorháztető alatt.BinaryFormatter

Új viselkedés

A .NET 7-től kezdődően, ha szerializálni vagy deszerializálni DataTable próbál, és DataSet a tulajdonságuk RemotingFormat a következőre van állítva SerializationFormat.Binary, a rendszer egy InvalidEnumArgumentException műveletet indít el.

Bevezetett verzió

.NET 7

A kompatibilitástörő változás típusa

Ez a módosítás hatással lehet a forráskompatibilitásra és a bináris kompatibilitásra.

A változás oka

SerializationFormat.Binary a rendszer a .NET-verem teljes egészében nem biztonságos és elavult használatával BinaryFormattervalósítja meg.

Ha a kód használja SerializationFormat.Binary, váltson másik szerializálási módszer használatára SerializationFormat.Xml vagy használatára.

Ellenkező esetben beállíthatja a kapcsolót Switch.System.Data.AllowUnsafeSerializationFormatBinary AppContext . Ez a kapcsoló lehetővé teszi a használat SerializationFormat.Binaryengedélyezését, hogy a kód a korábbiakhoz hasonlóan működjön. Ez a kapcsoló azonban el lesz távolítva a .NET 8-ban. A kapcsoló beállításával kapcsolatos információkért lásd : AppContext for library consumers.

Érintett API-k

Lásd még