Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Implementacja "in box" BinaryFormatter teraz zgłasza wyjątki podczas pracy 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 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ż
- 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)