SYSLIB0043: ECDiffieHellmanPublicKey.ToByteArray is verouderd
De volgende methoden zijn verouderd, te beginnen in .NET 7. Als u ze in code gebruikt, wordt er een waarschuwing SYSLIB0043
gegenereerd tijdens het compileren.
De ECDiffieHellmanPublicKey.ToByteArray() methode heeft geen impliciete bestandsindeling. Voor de ingebouwde implementaties wordt het ook uitgevoerd PlatformNotSupportedException op alle niet-Windows-besturingssystemen. Omdat ECDiffieHellmanPublicKey er ook een standaardindelingsexport is (via de ExportSubjectPublicKeyInfo() methode), is het oudere lid verouderd.
Tijdelijke oplossing
Als u de waarde van de openbare sleutel exporteert, gebruikt u in plaats daarvan de ExportSubjectPublicKeyInfo() methode.
Voor nieuwe afgeleide typen (of bestaande afgeleide typen die momenteel de ECDiffieHellmanPublicKey(Byte[]) constructor niet aanroepen), roept u de beveiligde ECDiffieHellmanPublicKey(Byte[]) constructor niet aan en overschrijft ToByteArray() u deze om een uitzondering te genereren of accepteert u het standaardgedrag van het retourneren van een lege matrix.
Voor bestaande afgeleide typen die al de beveiligde ECDiffieHellmanPublicKey(Byte[]) constructor aanroepen, blijft u de constructor aanroepen en onderdrukt u de SYSLIB0043
waarschuwing.
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 SYSLIB0043
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0043
Als u alle SYSLIB0043
waarschuwingen in uw project wilt onderdrukken, voegt u een <NoWarn>
eigenschap toe aan het projectbestand.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0043</NoWarn>
</PropertyGroup>
</Project>
Zie Waarschuwingen onderdrukken voor meer informatie.