Implementacja elementu BinaryFormatter w polu została usunięta i zawsze zgłaszana
Implementacja "w pudełku" BinaryFormatter zgłasza teraz wyjątki w czasie wykonywania we wszystkich przypadkach. Jest to ostatni etap planu obsoletion binaryFormatter.
Poprzednie zachowanie
Wystąpienie można skonstruować BinaryFormatter i użyć go do serializacji i deserializacji ładunków.
Nowe zachowanie
Począwszy od platformy .NET 9, implementacja wbudowana BinaryFormatter zgłasza wyjątki w użyciu, nawet w przypadku ustawień, które wcześniej włączyły jego użycie. Te ustawienia są również usuwane.
Wprowadzona wersja
.NET 9 (wersja zapoznawcza 6)
Typ zmiany powodującej niezgodność
Ta zmiana jest zmianą behawioralną.
Przyczyna wprowadzenia zmiany
BinaryFormatter
jest niezabezpieczonym formatem i przyczyną wielu usterek zabezpieczeń. Usunięcie go ze struktury zwiększa ogólne bezpieczeństwo platformy .NET.
Zalecana akcja
Jeśli kod używa BinaryFormatter
metody , należy wybrać nowy format serializacji i zmigrować kod.
Jeśli oceniasz ryzyko BinaryFormatter
akceptowalnego dla przypadków użycia i zobowiązujesz się do używania klasy, której nie można zabezpieczyć, nadal będziesz mieć możliwość użycia BinaryFormatter
za pomocą oddzielnego, nieobsługiwanego pakietu NuGet.
Aby uzyskać więcej informacji, w tym wskazówki dotyczące alternatywnych serializatorów, zobacz Przewodnik migracji BinaryFormatter.
Dotyczy interfejsów API
Zobacz też
- Ogłoszenie: BinaryFormatter jest usuwany na platformie .NET 9
- BinaryFormatter wyłączony w większości typów projektów (.NET 8)
- Interfejsy API serializacji BinaryFormatter generują błędy kompilatora (.NET 7)
- SerializationFormat.Binary jest przestarzały (.NET 7)
- Metody serializacji BinaryFormatter są przestarzałe (.NET 5)