Entfernen ungültiger globaler SuppressMessageAttribute-Attribute (IDE0076)

Eigenschaft Wert
Regel-ID IDE0076
Titel Remove invalid global SuppressMessageAttribute (Ungültige globale SuppressMessageAttribute-Attribute entfernen)
Kategorie CodeQuality
Unterkategorie Verschiedene Regeln
Gültige Sprachen C# und Visual Basic

Übersicht

Mit dieser Regel werden globale SuppressMessageAttribute-Attribute gekennzeichnet, die über einen ungültigen Scope oder ein ungültiges Target verfügen. Das Attribut muss entweder entfernt oder korrigiert werden, um auf einen gültigen Bereich und ein gültiges Zielsymbol zu verweisen.

Optionen

Dieser Regel sind keine Codeformatoptionen zugeordnet.

Beispiel

// IDE0076: Invalid target '~F:N.C.F2' - no matching field named 'F2'
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Category", "Id: Title", Scope = "member", Target = "~F:N.C.F2")]
// IDE0076: Invalid scope 'property'
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Category", "Id: Title", Scope = "property", Target = "~P:N.C.P")]

// Fixed code
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Category", "Id: Title", Scope = "member", Target = "~F:N.C.F")]
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Category", "Id: Title", Scope = "member", Target = "~P:N.C.P")]

namespace N
{
    class C
    {
        public int F;
        public int P { get; }
    }
}

Unterdrücken einer Warnung

Um nur eine einzelne Verletzung zu unterdrücken, fügen Sie der Quelldatei Präprozessoranweisungen hinzu, um die Regel zu deaktivieren und dann wieder zu aktivieren.

#pragma warning disable IDE0076
// The code that's violating the rule is on this line.
#pragma warning restore IDE0076

Um die Regel für eine Datei, einen Ordner oder ein Projekt zu deaktivieren, legen Sie den Schweregrad in der Konfigurationsdatei auf none fest.

[*.{cs,vb}]
dotnet_diagnostic.IDE0076.severity = none

Um diese gesamte Kategorie von Regeln zu deaktivieren, legen Sie den Schweregrad für die Kategorie in der Konfigurationsdatei auf none fest.

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-CodeQuality.severity = none

Weitere Informationen finden Sie unter Vorgehensweise: Unterdrücken von Codeanalyse-Warnungen.

Siehe auch