SYSLIB0042: ECC türlerinde FromXmlString ve ToXmlString kullanımdan kaldırıldı
FromXmlString
.NET 7'den başlayarak, eliptik eğri şifrelemesi (ECC) türlerinde bulunan ve ToXmlString
yöntemleri eskidir. Bunları kodda kullanmak, derleme zamanında uyarı SYSLIB0042
oluşturur. Bunlar hiçbir zaman uygulanmadı ve her zaman bir PlatformNotSupportedException özel durum oluşturdu. Kullanımdan kaldırılmışlık aşağıdaki yöntemleri etkiler:
- ECDiffieHellmanCng.FromXmlString(String, ECKeyXmlFormat)
- ECDiffieHellmanCng.ToXmlString(ECKeyXmlFormat)
- ECDiffieHellmanCngPublicKey.FromXmlString(String)
- ECDiffieHellmanCngPublicKey.ToXmlString()
- ECDiffieHellmanPublicKey.ToXmlString()
- ECDsaCng.FromXmlString(String, ECKeyXmlFormat)
- ECDsaCng.ToXmlString(ECKeyXmlFormat)
Geçici çözüm
Eliptik eğri (EC) anahtarlarının alışverişi için standart bir veri biçimi kullanın.
ToXmlString
yerine veya ExportPkcs8PrivateKey
genel anahtarı mı yoksa özel anahtarı mı istediğinize bağlı olarak kullanınExportSubjectPublicKeyInfo
.
yerine FromXmlString
veya genel veya özel anahtarı içeri aktarmak isteyip istemediğinize bağlı olarak kullanın ImportSubjectPublicKeyInfo
ImportPkcs8PrivateKey
.
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 SYSLIB0042
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0042
Projenizdeki tüm SYSLIB0042
uyarıları engellemek için proje dosyanıza bir <NoWarn>
özellik ekleyin.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0042</NoWarn>
</PropertyGroup>
</Project>
Daha fazla bilgi için bkz . Uyarıları gizleme.