SYSLIB0042: FromXmlString en ToXmlString op ECC-typen zijn verouderd
De FromXmlString
en ToXmlString
methoden die zich op ECC-typen (elliptische curvecryptografie) bevinden, zijn verouderd vanaf .NET 7. Als u ze in code gebruikt, wordt er een waarschuwing SYSLIB0042
gegenereerd tijdens het compileren. Ze werden nooit geïmplementeerd en gooiden altijd een PlatformNotSupportedException uitzondering. De buitenzool is van invloed op de volgende methoden:
- ECDiffieHellmanCng.FromXmlString(String, ECKeyXmlFormat)
- ECDiffieHellmanCng.ToXmlString(ECKeyXmlFormat)
- ECDiffieHellmanCngPublicKey.FromXmlString(String)
- ECDiffieHellmanCngPublicKey.ToXmlString()
- ECDiffieHellmanPublicKey.ToXmlString()
- ECDsaCng.FromXmlString(String, ECKeyXmlFormat)
- ECDsaCng.ToXmlString(ECKeyXmlFormat)
Tijdelijke oplossing
Gebruik een standaardgegevensindeling voor het uitwisselen van elliptische curvesleutels (EC).
Gebruik in plaats van of ExportSubjectPublicKeyInfo
ExportPkcs8PrivateKey
afhankelijk van ToXmlString
of u de openbare of persoonlijke sleutel wilt.
Gebruik in plaats van , of ImportSubjectPublicKeyInfo
afhankelijk van FromXmlString
of ImportPkcs8PrivateKey
u een openbare of persoonlijke sleutel wilt importeren.
Een waarschuwing onderdrukken
Als u de verouderde API's moet gebruiken, kunt u de waarschuwing in code of in het projectbestand onderdrukken.
Als u slechts één schending wilt onderdrukken, voegt u preprocessorrichtlijnen toe aan uw bronbestand om de waarschuwing uit te schakelen en vervolgens opnieuw in te schakelen.
// Disable the warning.
#pragma warning disable SYSLIB0042
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0042
Als u alle SYSLIB0042
waarschuwingen in uw project wilt onderdrukken, voegt u een <NoWarn>
eigenschap toe aan het projectbestand.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0042</NoWarn>
</PropertyGroup>
</Project>
Zie Waarschuwingen onderdrukken voor meer informatie.