Delen via


BinaryFormatter uitgeschakeld voor de meeste projecttypen

De BinaryFormatter.Serialize(Stream, Object) en BinaryFormatter.Deserialize(Stream) methoden gooien nu een NotSupportedException runtime in bijna alle projecttypen, inclusief consoletoepassingen.

Vorig gedrag

In .NET 7 werden de BinaryFormatter.Serialize(Stream, Object) en BinaryFormatter.Deserialize(Stream) methoden gemarkeerd als verouderd en werden er tijdens het compileren een fout gegenereerd. Echter, als uw toepassing de verdoezeling onderdrukt, kan het nog steeds de methoden aanroepen en ze goed functioneren in de meeste projecttypen (met uitzondering van ASP.NET, WASM en MAUI). De API's werken bijvoorbeeld correct in een console-app.

Nieuw gedrag

Vanaf .NET 8 gooien de betrokken methoden een NotSupportedException runtime voor alle projecttypen, met uitzondering van Windows Forms en WPF. De API's blijven verouderd (als fout) voor alle projecttypen, waaronder Windows Forms en WPF.

Versie geïntroduceerd

.NET 8 Preview 4

Type wijziging die fouten veroorzaken

Deze wijziging is een gedragswijziging.

Reden voor wijziging

Deze runtimewijziging is de volgende fase van het BinaryFormatter-obsoletion-plan, waarin BinaryFormatter uiteindelijk uit .NET wordt verwijderd.

De beste procedure is om weg BinaryFormatter te migreren vanwege de beveiligings- en betrouwbaarheidsfouten. Zie Voorkeursalternatieven voor meer informatie.

Als u wilt blijven gebruiken BinaryFormatter, kunt u een compatibiliteitsswitch instellen in uw projectbestand om de functionaliteit opnieuw in te schakelen BinaryFormatter . Zie de sectie Aanbevolen actie van de melding voor wijziging die fouten veroorzaken in .NET 7 voor meer informatie. Deze compatibiliteitsswitch wordt nog steeds uitgevoerd in .NET 8.

Betrokken API's

Zie ook