Udostępnij za pośrednictwem


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.

Jeśli kod używa BinaryFormattermetody , 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ż