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.
Rekommenderad åtgärd
Om koden använder BinaryFormatter
bö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.