In-Box BinaryFormatter-Implementierung entfernt und immer ausgelöst
Die Implementierung „in Box“ BinaryFormatter löst jetzt Ausnahmen zur Laufzeit in allen Fällen aus. Dies ist die letzte Phase des BinaryFormatter-Abschaffungsplans.
Vorheriges Verhalten
Sie können eine BinaryFormatter-Instanz erstellen und zum Serialisieren und Deserialisieren von Nutzlasten verwenden.
Neues Verhalten
Ab .NET 9 löst die In-Box-Implementierung BinaryFormatter Ausnahmen bei der Verwendung aus, auch bei den Einstellungen, die zuvor die Verwendung aktiviert haben. Diese Einstellungen werden ebenfalls entfernt.
Eingeführt in Version
.NET 9 Preview 6
Typ des Breaking Changes
Diese Änderung ist eine Verhaltensänderung.
Grund für die Änderung
BinaryFormatter
ist ein unsicheres Format und die Ursache vieler Sicherheitsfehler. Durch das Entfernen aus dem Framework wird die allgemeine Sicherheit von .NET erhöht.
Empfohlene Maßnahme
Wenn Ihr Code BinaryFormatter
verwendet wird, sollten Sie ein neues Serialisierungsformat auswählen und den Code migrieren.
Wenn Sie das Risiko von BinaryFormatter
für Ihre Anwendungsfälle beurteilen und sich verpflichtet haben, eine Klasse zu verwenden, die nicht sicher gemacht werden kann, können Sie BinaryFormatter
weiterhin über ein separates, nicht unterstütztes NuGet-Paket verwenden.
Weitere Informationen, einschließlich Anleitungen zu alternativen Serialisierern, finden Sie im BinaryFormatter-Migrationshandbuch.
Betroffene APIs
Siehe auch
- Ankündigung: BinaryFormatter wird in .NET 9 entfernt
- BinaryFormatter für die meisten Projekttypen deaktiviert (.NET 8)
- BinaryFormatter-Serialisierungs-APIs erzeugen Compilerfehler (.NET 7)
- SerializationFormat.Binary ist veraltet (.NET 7)
- Die BinaryFormatter-Serialisierungsmethoden sind veraltet (.NET 5).