SYSLIB0043: ECDiffieHellmanPublicKey.ToByteArray kullanımdan kaldırıldı
Aşağıdaki yöntemler .NET 7'den başlayarak eskidir. Bunları kodda kullanmak, derleme zamanında uyarı SYSLIB0043
oluşturur.
yöntemi örtük ECDiffieHellmanPublicKey.ToByteArray() bir dosya biçimine sahip değil. Ayrıca, yerleşik uygulamalar için Tüm Windows dışı işletim sistemlerine oluşturur PlatformNotSupportedException . Ayrıca standart biçim dışarı aktarması (yöntemi aracılığıylaExportSubjectPublicKeyInfo()) olduğundanECDiffieHellmanPublicKey, eski üye engellendi.
Geçici çözüm
Ortak anahtar değerini dışarı aktarıyorsanız bunun yerine yöntemini kullanın ExportSubjectPublicKeyInfo() .
Yeni türetilmiş türler (veya şu anda oluşturucuyu ECDiffieHellmanPublicKey(Byte[]) çağırmamış mevcut türetilmiş türler) için korumalı ECDiffieHellmanPublicKey(Byte[]) oluşturucuyu çağırmayın ve özel durum oluşturmak için geçersiz kılmayın ToByteArray() veya boş bir dizi döndürmenin varsayılan davranışını kabul edin.
Korumalı oluşturucuyu ECDiffieHellmanPublicKey(Byte[]) zaten çağıran mevcut türetilmiş türler için oluşturucuyu çağırmaya devam edin ve uyarıyı bastırın SYSLIB0043
.
Uyarıyı gizleme
Eski API'leri kullanmanız gerekiyorsa, uyarıyı kodda veya proje dosyanızda 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 SYSLIB0043
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0043
Projenizdeki tüm SYSLIB0043
uyarıları engellemek için proje dosyanıza bir <NoWarn>
özellik ekleyin.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0043</NoWarn>
</PropertyGroup>
</Project>
Daha fazla bilgi için bkz . Uyarıları gizleme.