Partilhar via


SYSLIB0023: RNGCryptoServiceProvider está obsoleto

RNGCryptoServiceProvider está marcado como obsoleto, começando no .NET 6. Usá-lo no código gera aviso SYSLIB0023 em tempo de compilação.

Soluções

Para gerar um número aleatório, use um dos RandomNumberGenerator métodos, por exemplo, RandomNumberGenerator.GetInt32(Int32).

Suprimir um aviso

Se você precisar usar as APIs obsoletas, poderá suprimir o aviso no código ou no arquivo de projeto.

Para suprimir apenas uma única violação, adicione diretivas de pré-processador ao arquivo de origem para desativar e reativar o aviso.

// Disable the warning.
#pragma warning disable SYSLIB0023

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

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

Para suprimir todos os SYSLIB0023 avisos em seu projeto, adicione uma <NoWarn> propriedade ao seu arquivo de projeto.

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

Para obter mais informações, consulte Suprimir avisos.