Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
RNGCryptoServiceProvider is marked as obsolete, starting in .NET 6. Using it in code generates warning SYSLIB0023
at compile time.
Workarounds
To generate a random number, use one of the RandomNumberGenerator methods instead, for example, RandomNumberGenerator.GetInt32(Int32).
Suppress a warning
If you must use the obsolete APIs, you can suppress the warning in code or in your project file.
To suppress only a single violation, add preprocessor directives to your source file to disable and then re-enable the warning.
// Disable the warning.
#pragma warning disable SYSLIB0023
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0023
To suppress all the SYSLIB0023
warnings in your project, add a <NoWarn>
property to your project file.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0023</NoWarn>
</PropertyGroup>
</Project>
For more information, see Suppress warnings.