Sdílet prostřednictvím


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í.