Поделиться через


SYSLIB0031: EncodeOID устарел

Метод CryptoConfig.EncodeOID(String) помечается как устаревший, начиная с .NET 6. Использование этого API в коде создает предупреждение SYSLIB0031 во время компиляции и создает PlatformNotSupportedException исключение во время выполнения.

Обходные пути

Используйте функции ASN.1, предоставляемые в System.Formats.Asn1.

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

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

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

// Disable the warning.
#pragma warning disable SYSLIB0031

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

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

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

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

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