SYSLIB0052: Le API che supportano meccanismi obsoleti per l'estendibilità Regex sono obsolete
Le API Regex e RegexRunner seguenti sono obsolete, a partire da .NET 8. La loro chiamata nel codice genera un avviso SYSLIB0052
in fase di compilazione. Queste API supportano CompileToAssembly, ora obsoleto.
- Regex.InitializeReferences()
- Regex.UseOptionC()
- Regex.UseOptionR()
- RegexRunner.CharInSet(Char, String, String)
- RegexRunner.Scan(Regex, String, Int32, Int32, Int32, Int32, Boolean)
- RegexRunner.Scan(Regex, String, Int32, Int32, Int32, Int32, Boolean, TimeSpan)
Soluzione alternativa
N/D
Eliminare un avviso
Se è necessario usare le API obsolete, è possibile eliminare l'avviso nel codice o nel file di progetto.
Per eliminare solo una singola violazione, aggiungere direttive del preprocessore al file di origine per disabilitare e quindi riabilitare l'avviso.
// Disable the warning.
#pragma warning disable SYSLIB0052
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0052
Per eliminare tutti gli avvisi SYSLIB0052
nel progetto, aggiungere una proprietà <NoWarn>
al file di progetto.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0052</NoWarn>
</PropertyGroup>
</Project>
Per altre informazioni, vedere Eliminare gli avvisi.