In-box BinaryFormatter-implementatie verwijderd en altijd gooit
De implementatie 'in box' BinaryFormatter genereert nu in alle gevallen uitzonderingen tijdens runtime. Dit is de laatste fase van het BinaryFormatter obsoletion plan.
Vorig gedrag
U kunt een BinaryFormatter exemplaar maken en deze gebruiken om nettoladingen te serialiseren en deserialiseren.
Nieuw gedrag
Vanaf .NET 9 genereert de in-box-implementatie BinaryFormatter uitzonderingen voor gebruik, zelfs met de instellingen die eerder het gebruik ervan hebben ingeschakeld. Deze instellingen worden ook verwijderd.
Versie geïntroduceerd
.NET 9 Preview 6
Type wijziging die fouten veroorzaken
Deze wijziging is een gedragswijziging.
Reden voor wijziging
BinaryFormatter
is een onveilige indeling en de oorzaak van veel beveiligingsfouten. Als u het uit het framework verwijdert, wordt de algehele veiligheid van .NET verhoogd.
Aanbevolen actie
Als uw code gebruikmaakt BinaryFormatter
, moet u een nieuwe serialisatie-indeling selecteren en uw code migreren.
Als u het risico beoordeelt dat BinaryFormatter
acceptabel is voor uw gebruiksscenario's en u zich inzet voor het gebruik van een klasse die niet veilig kan worden gemaakt, kunt u nog steeds gebruikmaken BinaryFormatter
van een afzonderlijk, niet-ondersteund NuGet-pakket.
Zie de binaryFormatter-migratiehandleiding voor meer informatie, waaronder richtlijnen voor alternatieve serialisatieprogramma's.
Betrokken API's
Zie ook
- Aankondiging: BinaryFormatter wordt verwijderd in .NET 9
- BinaryFormatter is uitgeschakeld voor de meeste projecttypen (.NET 8)
- BinaryFormatter-serialisatie-API's produceren compilerfouten (.NET 7)
- SerializationFormat.Binary is verouderd (.NET 7)
- Serialisatiemethoden van BinaryFormatter zijn verouderd (.NET 5)