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.
SerializationFormat.Binaryve DataTableiçin DataSet 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 fırlatılır:
- veya DataSet.RemotingFormat olarak DataTable.RemotingFormatayarlayınSerializationFormat.Binary.
- İkili veriler için DataTable veya DataSet ikili verilerle seri durumdan çıkarma oluşturucularından birini çağırın.
Önceki davranış
DataTable Daha önce ve DataSet özelliği arka planda kullanılan RemotingFormat olarak ayarlanmış SerializationFormat.Binaryşekilde seri hale BinaryFormatter 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.
Önerilen eylem
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.AllowUnsafeSerializationFormatBinaryAppContext . 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
- System.Data.SerializationFormat.Binary
- DataSet.RemotingFormat
- DataTable.RemotingFormat
- DataSet(SerializationInfo, StreamingContext)
- DataSet(SerializationInfo, StreamingContext, Boolean)
- DataTable(SerializationInfo, StreamingContext)