SYSLIB-Diagnose für die RegEx-Quellgenerierung
In der folgenden Tabelle sind die Diagnose-IDs für Analysetools zur Quellgenerierung für reguläre Ausdrücke (RegEx) in .NET 7 und höheren Versionen aufgeführt. SYSLIB1045
weist Sie automatisch auf Stellen hin, an denen Sie die Quellgenerierung verwenden können, um die Implementierung der Engine für reguläre Ausdrücke zur Kompilierzeit zu generieren. In den weiteren Diagnosen werden Sie auf Fehler im Zusammenhang mit der Verwendung des Quellgenerators hingewiesen.
Diagnose-ID | BESCHREIBUNG |
---|---|
SYSLIB1040 |
Ungültige Verwendung von GeneratedRegexAttribute. |
SYSLIB1041 |
Mehrere GeneratedRegexAttribute-Attribute wurden auf dieselbe Methode angewendet, es ist aber nur ein Attribut zulässig. |
SYSLIB1042 |
Der angegebene reguläre Ausdruck ist ungültig. |
SYSLIB1043 |
Eine GeneratedRegexAttribute-Methode muss partiell, parameterlos, nicht generisch und nicht abstrakt sein und Regex zurückgeben. |
SYSLIB1044 |
Der RegEx-Generator konnte aufgrund einer internen Einschränkung keine vollständige Quellimplementierung für den angegebenen regulären Ausdruck generieren. Weitere Informationen finden Sie in der Erklärung in der generierten Quelle. |
SYSLIB1045 |
Verwenden Sie GeneratedRegexAttribute, um die Implementierung des regulären Ausdrucks zur Kompilierzeit zu generieren. |
Weitere Informationen zur Quellgenerierung für reguläre Ausdrücke finden Sie unter Quellgeneratoren für reguläre .NET-Ausdrücke.
Unterdrücken von Warnungen
Sie sollten nach Möglichkeit eine der folgenden Problemumgehungen verwenden. Wenn Sie den Code nicht ändern können, können Sie die Warnung über eine #pragma
-Anweisung oder eine <NoWarn>
-Projekteinstellung unterdrücken. Wenn die SYSLIB1XXX
-Diagnose des Quell-Generators keine Fehler anzeigt, können Sie die Warnung im Code oder in der Projektdatei unterdrücken.
So unterdrücken Sie die Warnungen im Code:
// Disable the warning.
#pragma warning disable SYSLIB1006
// Code that generates compiler diagnostic.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB1006
So unterdrücken Sie die Warnungen in einer Projektdatei:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<!-- NoWarn below suppresses SYSLIB1002 project-wide -->
<NoWarn>$(NoWarn);SYSLIB1002</NoWarn>
<!-- To suppress multiple warnings, you can use multiple NoWarn elements -->
<NoWarn>$(NoWarn);SYSLIB1002</NoWarn>
<NoWarn>$(NoWarn);SYSLIB1006</NoWarn>
<!-- Alternatively, you can suppress multiple warnings by using a semicolon-delimited list -->
<NoWarn>$(NoWarn);SYSLIB1002;SYSLIB1006;SYSLIB1007</NoWarn>
</PropertyGroup>
</Project>