SYSLIB0040: „EncryptionPolicy.NoEncryption“ und „EncryptionPolicy.AllowNoEncryption“ sind veraltet.

EncryptionPolicy.NoEncryption und EncryptionPolicy.AllowNoEncryption sind ab .NET 7 als veraltet markiert. Die Verwendung dieser Enumerationsfelder in Code generiert zur Kompilierzeit die Warnung SYSLIB0040.

Ältere SSL/TLS-Versionen haben keine Verschlüsselung zugelassen, und obwohl dies für das Debuggen nützlich sein kann, sollte es nicht in der Produktion verwendet werden. Darüber hinaus ist die NULL-Verschlüsselung ab TLS 1.3 nicht mehr verfügbar.

Problemumgehung

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 SYSLIB0040

// Code that uses obsolete API.
// ...

// Re-enable the warning.
#pragma warning restore SYSLIB0040

Um alle SYSLIB0040-Warnungen in Ihrem Projekt zu unterdrücken, fügen Sie ihrer Projektdatei eine <NoWarn>-Eigenschaft hinzu.

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
   ...
   <NoWarn>$(NoWarn);SYSLIB0040</NoWarn>
  </PropertyGroup>
</Project>

Weitere Informationen finden Sie unter Unterdrücken von Warnungen.