Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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.
Önerilen eylem
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
- System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream, Object)
- System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize(Stream)