SYSLIB0043: ECDiffieHellmanPublicKey.ToByteArray je zastaralé
Následující metody jsou zastaralé počínaje rozhraním .NET 7. Použití v kódu generuje upozornění SYSLIB0043
v době kompilace.
Metoda ECDiffieHellmanPublicKey.ToByteArray() nemá implicitní formát souboru. U integrovaných implementací se také vyvolá PlatformNotSupportedException ve všech operačních systémech jiných než Windows. Vzhledem k tomu, že ECDiffieHellmanPublicKey má také standardní formát exportu (prostřednictvím ExportSubjectPublicKeyInfo() metody), starší člen byl zastaralý.
Alternativní řešení
Pokud exportujete hodnotu veřejného klíče, použijte místo toho metodu ExportSubjectPublicKeyInfo() .
U nových odvozených typů (nebo existujících odvozených typů, které aktuálně nevolají ECDiffieHellmanPublicKey(Byte[]) konstruktor), nevolejte chráněný ECDiffieHellmanPublicKey(Byte[]) konstruktor a buď přepište ToByteArray() vyvolání výjimky, nebo přijměte výchozí chování vrácení prázdného pole.
U existujících odvozených typů, které již volají chráněný ECDiffieHellmanPublicKey(Byte[]) konstruktor, pokračujte voláním konstruktoru a potlačte SYSLIB0043
upozornění.
Potlačení upozornění
Pokud musíte použít zastaralá rozhraní API, můžete potlačit upozornění v kódu nebo v souboru projektu.
Chcete-li potlačit pouze jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, které chcete zakázat a znovu povolit upozornění.
// Disable the warning.
#pragma warning disable SYSLIB0043
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0043
Pokud chcete potlačit všechna SYSLIB0043
upozornění v projektu, přidejte <NoWarn>
do souboru projektu vlastnost.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0043</NoWarn>
</PropertyGroup>
</Project>
Další informace naleznete v tématu Potlačení upozornění.