SYSLIB0042: „FromXmlString“ und „ToXmlString“ für ECC-Typen sind veraltet.
Die Methoden FromXmlString
und ToXmlString
für ECC-Typen (Elliptic Curve Cryptography) sind ab .NET 7 veraltet. Ihre Verwendung im Code ruft zur Kompilierzeit die Warnung SYSLIB0042
hervor. Sie wurden nie implementiert und haben immer eine PlatformNotSupportedException Ausnahme ausgelöst. Die Veraltung wirkt sich auf die folgenden Methoden aus:
- ECDiffieHellmanCng.FromXmlString(String, ECKeyXmlFormat)
- ECDiffieHellmanCng.ToXmlString(ECKeyXmlFormat)
- ECDiffieHellmanCngPublicKey.FromXmlString(String)
- ECDiffieHellmanCngPublicKey.ToXmlString()
- ECDiffieHellmanPublicKey.ToXmlString()
- ECDsaCng.FromXmlString(String, ECKeyXmlFormat)
- ECDsaCng.ToXmlString(ECKeyXmlFormat)
Problemumgehung
Verwenden Sie ein Standarddatenformat für den Austausch von EC-Schlüsseln (Elliptic Curve).
Verwenden Sie ExportSubjectPublicKeyInfo
oderExportPkcs8PrivateKey
anstelle von ToXmlString
, je nachdem, ob Sie den öffentlichen oder privaten Schlüssel möchten.
Verwenden Sie ImportSubjectPublicKeyInfo
oderImportPkcs8PrivateKey
anstelle von FromXmlString
, je nachdem, ob Sie einen öffentlichen oder privaten Schlüssel importieren möchten.
Unterdrücken einer Warnung
Wenn Sie die veralteten APIs verwenden müssen, können Sie die Warnung im Code oder in Ihrer Projektdatei unterdrücken.
Um nur einen einzelnen Verstoß zu unterdrücken, fügen Sie der Quelldatei Präprozessoranweisungen hinzu, um die Warnung zu deaktivieren und dann wieder zu aktivieren.
// Disable the warning.
#pragma warning disable SYSLIB0042
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0042
Um alle SYSLIB0042
-Warnungen in Ihrem Projekt zu unterdrücken, fügen Sie ihrer Projektdatei eine <NoWarn>
-Eigenschaft hinzu.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0042</NoWarn>
</PropertyGroup>
</Project>
Weitere Informationen finden Sie unter Unterdrücken von Warnungen.