SYSLIB0052: przestarzałe interfejsy API obsługujące przestarzałe mechanizmy rozszerzalności wyrażeń regularnych są przestarzałe
Regex Następujące interfejsy API i RegexRunner są przestarzałe, począwszy od platformy .NET 8. Wywołanie ich w kodzie generuje ostrzeżenie SYSLIB0052
w czasie kompilacji. Te interfejsy API obsługują teraz przestarzałe CompileToAssembly.
- 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)
Rozwiązanie
Nie dotyczy
Pomijanie ostrzeżenia
Jeśli musisz używać przestarzałych interfejsów API, możesz pominąć ostrzeżenie w kodzie lub w pliku projektu.
Aby pominąć tylko jedno naruszenie, dodaj dyrektywy preprocesora do pliku źródłowego, aby wyłączyć, a następnie ponownie włączyć ostrzeżenie.
// Disable the warning.
#pragma warning disable SYSLIB0052
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0052
Aby pominąć wszystkie SYSLIB0052
ostrzeżenia w projekcie, dodaj <NoWarn>
właściwość do pliku projektu.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0052</NoWarn>
</PropertyGroup>
</Project>
Aby uzyskać więcej informacji, zobacz Pomijanie ostrzeżeń.