Aracılığıyla paylaş


SerializationFormat.Binary kullanımdan kaldırıldı

SerializationFormat.Binaryve DataSetiçin DataTable kullanım dışıdır. İkili serileştirme, güvensiz olan öğesine dayanır BinaryFormatter. Kodunuzda kullanırsanız SerializationFormat.Binary , derleme zamanında kullanımdan kaldırılma uyarısı SYSLIB0038 oluşturulur.

Ayrıca, şu durumlarda çalışma zamanında bir InvalidEnumArgumentException oluşturulur:

Önceki davranış

DataTable Daha önce ve DataSet özelliği arka planda kullanılan BinaryFormatter olarak ayarlanmış SerializationFormat.Binaryşekilde seri hale RemotingFormat getirilip seri durumdan çıkarılabiliyordu.

Yeni davranış

.NET 7'den başlayarak serileştirmeye veya seri durumdan kaldırmaya DataTable çalışırsanız ve DataSet özellikleri RemotingFormat olarak SerializationFormat.Binaryayarlanırsa bir InvalidEnumArgumentException oluşturulur.

Sürüm kullanıma sunulmuştur

.NET 7

Hataya neden olan değişikliğin türü

Bu değişiklik kaynak uyumluluğunu ve ikili uyumluluğu etkileyebilir.

Değişiklik nedeni

SerializationFormat.Binary , güvenli olmayan ve .NET yığınının tamamında gizlenen aracılığıyla BinaryFormatteruygulanır.

Kodunuz kullanıyorsa SerializationFormat.Binarybaşka bir serileştirme yöntemi kullanmaya SerializationFormat.Xml veya kullanmaya geçin.

Aksi takdirde, anahtarı ayarlayabilirsiniz Switch.System.Data.AllowUnsafeSerializationFormatBinary AppContext . Bu anahtar, kodun daha önce olduğu gibi çalışabilmesi SerializationFormat.Binaryiçin kullanımına izin vermenizi sağlar. Ancak, bu anahtar .NET 8'de kaldırılacaktır. Anahtarı ayarlama hakkında bilgi için bkz . Kitaplık tüketicileri için AppContext.

Etkilenen API’ler

Ayrıca bkz.