Aracılığıyla paylaş


SYSLIB0011: BinaryFormatter serileştirmesi kullanımdan kaldırıldı

içindeki BinaryFormatter nedeniyle aşağıdaki API'ler .NET 5'te kullanım dışı olarak işaretlendi. Bunları kodda kullanmak, derleme zamanında uyarı veya hata SYSLIB0011 oluşturur.

.NET 8'den başlayarak çoğu proje türünde çalışma zamanında BinaryFormatter.Serialize ve BinaryFormatter.Deserialize bir NotSupportedException fırlatır. Ayrıca, uyarı olarak kullanımdan kaldırıldı ve aşağıdaki API'ler hata olarak kullanımdan kaldırıldı:

Geçici Çözümler

Eğer BinaryFormatter kullanıyorsanız, güvenlik ve güvenilirlik sorunları nedeniyle bundan geçiş yapmalısınız. Daha fazla bilgi için bkz. BinaryFormatter ve ilgili türlerin kullanımında seri durumdan çıkarma riskleri veTercih edilen alternatifler.

Uyarıyı gizleme

Eski API'leri kullanmanız gerekiyorsa, kodda veya proje dosyanızda uyarıyı/hatayı gizleyebilirsiniz.

Yalnızca tek bir ihlali engellemek için, önişlemci yönergelerini kaynak dosyanıza ekleyerek uyarıyı devre dışı bırakın ve sonra yeniden etkinleştirin.

// Disable the warning.
#pragma warning disable SYSLIB0011

// Code that uses obsolete API.
// ...

// Re-enable the warning.
#pragma warning restore SYSLIB0011

Projenizdeki tüm SYSLIB0011 uyarılarını engellemek için proje dosyanıza bir <NoWarn> özelliği ekleyin.

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
   ...
   <NoWarn>$(NoWarn);SYSLIB0011</NoWarn>
  </PropertyGroup>
</Project>

Daha fazla bilgi için bkz. uyarıları gizleme.

Ayrıca bakınız