Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Lesedauer 2 Min.

BinaryFormatter in .NET 9 entfernt

Die .NET-Plattform hat mit der Version 9 den BinaryFormatter aus Sicherheitsgründen entfernt.
In .NET 9 hat Microsoft die Implementierung des BinaryFormatter aus der Runtime entfernt. Das sorgt dafür, dass das API zwar weiterhin existiert, aber nur noch Ausnahmen auslöst - unabhängig vom Projekttyp. Die Gründe für diesen Schritt sind vielschichtig, aber insbesondere die Sicherheitsrisiken, die mit der Verwendung des BinaryFormatter verbunden sind, stehen im Vordergrund. Der BinaryFormatter, der in der ersten Veröffentlichung des .NET Frameworks im Jahr 2002 implementiert wurde, erweist sich als gefährlich, da jeder Deserializer, der Informationen über die zu erstellenden Objekte erhält, potenzielle Sicherheitsprobleme mit sich bringen kann.Den Entwicklern wird nahe gelegt, BinaryFormatter komplett aus Projekten zu entfernen und sich stattdessen nach sichereren Serialisierungsoptionen umzuschauen. Von Microsoft empfohlene Alternativen sind beispielsweise JSON- oder XML-Serialisierungsformate, die beide in der .NET-Bibliothek enthalten sind. Für die Entwickler, die auf binäre Serialisierungsformate angewiesen sind, gibt es Open-Source-Alternativen wie MessagePack und Protocol Buffers. Für den Übergang empfiehlt Microsoft die Verwendung des neuen NrbfDecoders, um binäre Payloads zu lesen, ohne die komplette Deserialisierung durchzuführen.Sollte es in einem Projekt notwendig sein, den BinaryFormatter weiterhin zu verwenden, wird auch auf die Möglichkeit hingewiesen, das nicht unterstützte NuGet-Paket System.Runtime.Serialization.Formatters zu installieren, um die frühere Funktionalität wiederherzustellen. Die Nutzung dieses Pakets ist jedoch nicht ratsam, da es bekannte Sicherheitslücken mit sich bringt. Weitere Informationen

Neueste Beiträge

Hierarchische Testdata-Builder - Testdata-Builder, Teil 1
Lesbare Tests bei tiefen Objekthierarchien mit dem Collection-Builder-Pattern.
4 Minuten
DDC hakt nach: Hör auf, Dich über Verbindungsstrings zu ärgern
Die App läuft lokal wie geschmiert, aber sobald Backend-Services ins Spiel kommen, stottert die Maschine. Connection Strings, die nicht wollen. Emulator-Konfigurationen, die nerven. Johan Smarius erklärt im Interview und auf der .NET Developer Conference 2025, wie es anders - und viel besser geht.
4 Minuten
10. Nov 2025
Chunks mit Köpfchen - KI für KMU, Teil 1
Wie trenne ich Textinformationen in sinnvolle Segmente?
7 Minuten
Miscellaneous

Das könnte Dich auch interessieren

Benchmark im Unit-Test-Stil - Best of NuGet, Teil 4
NuGet-Pakete können das Leben des .NET-Entwicklers sogar um neue Werkzeuge erweitern, die sich auf den Entwicklungsworkflow (und nicht den bearbeiteten Code) auswirken. Mit BenchmarkDotNet steht ein Musterbeispiel dieses Konzepts zur Verfügung, das die Überprüfung der Performance von Code aller Arten ermöglicht.
7 Minuten
16. Okt 2025
Attraktives GUI mit Spectre.Console - Best of NuGet, Teil 6
Mit der Bibliotheksfamilie Spectre.Console steht ein neues Produkt ante portas, das die Realisierung von visuell ansprechenden Kommandozeileninterfaces zu erleichtern sucht.
7 Minuten
29. Okt 2025
Loggingdaten-Einlaufstelle mit Komfortfunktionen - Best of NuGet, Teil 5
Die in Android implementierte Logging-Funktion ist ein leistungsfähiges Beispiel für moderne Logging-Systeme. Mit Serilog steht ein ähnliches System für .NET-Applikationen zur Verfügung, das allerdings einige weit über das große Vorbild hinausgehende Funktionen offeriert.
6 Minuten
22. Okt 2025
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige