Dela via


In-box BinaryFormatter-implementeringen har tagits bort och genererar alltid

Implementeringen "in box" BinaryFormatter utlöser nu undantag vid körning i alla fall. Det här är det sista steget i BinaryFormatter-obsoletionsplanen.

Tidigare beteende

Du kan skapa en BinaryFormatter instans och använda den för att serialisera och deserialisera nyttolaster.

Nytt beteende

Från och med .NET 9 utlöser den inbyggda BinaryFormatter implementeringen undantag vid användning, även med de inställningar som tidigare aktiverade dess användning. Dessa inställningar tas också bort.

Version introducerad

Förhandsversion 6 av .NET 9

Typ av icke-bakåtkompatibel ändring

Den här ändringen är en beteendeförändring.

Orsak till ändringen

BinaryFormatter är ett osäkert format och orsaken till många säkerhetsbuggar. Om du tar bort det från ramverket ökar den övergripande säkerheten för .NET.

Om koden använder BinaryFormatterbör du välja ett nytt serialiseringsformat och migrera koden.

Om du bedömer risken BinaryFormatter för att vara acceptabel för dina användningsfall och du är engagerad i att använda en klass som inte kan göras säker, kommer du fortfarande att kunna använda BinaryFormatter via ett separat NuGet-paket som inte stöds.

Mer information, inklusive vägledning om alternativa serialiserare, finns i migreringsguiden för BinaryFormatter.

Berörda API:er

Se även