SYSLIB0040: EncryptionPolicy.NoEncryption и EncryptionPolicy.AllowNoEncryption устарели

EncryptionPolicy.NoEncryption и EncryptionPolicy.AllowNoEncryption помечены как устаревшие, начиная с .NET 7. Использование этих полей перечисления в коде создает предупреждение SYSLIB0040 во время компиляции.

Старые версии SSL/TLS не разрешают шифрование, и хотя это может быть полезно для отладки, оно не должно использоваться в рабочей среде. Кроме того, шифрование NULL больше не доступно по протоколу TLS 1.3.

Обходное решение

Н/П

Отключение предупреждений

Если необходимо использовать устаревшие API, вы можете отключить предупреждение в коде или в файле проекта.

Чтобы отключить только одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить предупреждение.

// Disable the warning.
#pragma warning disable SYSLIB0040

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

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

Чтобы отключить все SYSLIB0040 предупреждения в проекте, добавьте <NoWarn> свойство в файл проекта.

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

Дополнительные сведения см. в разделе Отключение предупреждений.