Aracılığıyla paylaş


BinaryFormatter çoğu proje türünde devre dışı bırakıldı

BinaryFormatter.Serialize(Stream, Object) ve BinaryFormatter.Deserialize(Stream) yöntemleri artık konsol uygulamaları da dahil olmak üzere neredeyse tüm proje türlerinde çalışma zamanında bir NotSupportedException oluşturur.

Önceki davranış

.NET 7'de BinaryFormatter.Serialize(Stream, Object) ve BinaryFormatter.Deserialize(Stream) yöntemleri eski olarak işaretlendi ve derleme zamanında bir hataya neden oldu. Ancak, uygulamanız kullanımdan kaldırmayı bastırdıysa, yine de yöntemleri çağırabilir ve çoğu proje türünde (ASP.NET, WASM ve MAUI hariç) düzgün şekilde çalışır. Örneğin, API'ler bir konsol uygulamasında doğru şekilde çalışır.

Yeni davranış

.NET 8'den başlayarak, etkilenen yöntemler Windows Forms ve WPF dışındaki tüm proje türlerinde çalışma zamanında bir NotSupportedException oluşturur. API'ler, Windows Forms ve WPF de dahil olmak üzere tüm proje türlerinde eski (hata olarak) kalmaya devam eder.

Sürüm kullanıma sunulmuştur

.NET 8 Önizleme 4

Kesinti yaratan değişiklik türü

Bu değişiklik davranışsal bir değişikliktir.

Değişiklik nedeni

Bu çalışma zamanı değişikliği, Sonunda .NET'ten kaldırılacak olan BinaryFormatter sonraki aşamasıdır.

En iyi eylem, güvenlik ve güvenilirlik açıkları nedeniyle BinaryFormatter'ten uzaklaşmaktır. Daha fazla bilgi için bkz . Tercih edilen alternatifler.

BinaryFormatter kullanmaya devam etmeniz gerekiyorsa, BinaryFormatter işlevselliğini yeniden etkinleştirmek için proje dosyanıza bir uyumluluk anahtarı ayarlayabilirsiniz. Daha fazla bilgi için .NET 7 hataya neden olan değişiklik bildiriminin Önerilen eylem bölümüne bakın. Bu uyumluluk anahtarı, .NET 8'de geçerli olmaya devam etmektedir.

Etkilenen API'ler

Ayrıca bakınız