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

Hataya neden olan değişikliğin 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 BinaryFormatter kullanımdan kaldırma planının sonraki aşamasıdır.

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

kullanmaya BinaryFormatterdevam etmeniz gerekiyorsa, işlevselliği yeniden etkinleştirmek BinaryFormatter için proje dosyanızda 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 kabul edilmeye devam eder.

Etkilenen API’ler

Ayrıca bkz.