Freigeben über


Das Legacyformat „Target“ in globalen SuppressMessageAttribute-Attributen vermeiden (IDE0077)

Eigentum Wert
Regel-ID IDE0077
Titel Das Legacyformat „Target“ in globalen SuppressMessageAttribute vermeiden
Kategorie CodeQuality
Unterkategorie Verschiedene Regeln
Anwendbare Sprachen C# und Visual Basic

Überblick

Diese Regel kennzeichnet globale SuppressMessageAttribute-Attribute, die Target mithilfe des Zielzeichenfolgenformats FxCop (Legacy) angeben. Die Verwendung des Legacyformats Target ist dafür bekannt, Leistungsprobleme zu verursachen, und sollte vermieden werden. Weitere Informationen finden Sie unter dotnet/roslyn-Issue 44362.

Das empfohlene Format für Target ist das Format der -Dokumentations-ID. Informationen zu Dokumentations-IDs finden Sie im Dokumentations-ID-Format.

Tipp

Visual Studio 2019 stellt eine Codekorrektur bereit, um die Target des Attributs automatisch in das empfohlene Format zu ändern.

Optionen

Diese Regel enthält keine zugehörigen Codeformatoptionen.

Beispiel

// IDE0077: Legacy format target 'N.C.#F'
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Category", "Id: Title", Scope = "member", Target = "N.C.#F")]

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

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

Unterdrücken einer Warnung

Wenn Sie nur einen einzelnen Verstoß unterdrücken möchten, fügen Sie Ihrer Quelldatei Präprozessordirektiven hinzu, um die Regel zu deaktivieren und dann erneut zu aktivieren.

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

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

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

Um diese gesamte Regelkategorie zu deaktivieren, legen Sie den Schweregrad für die Kategorie auf none in der Konfigurationsdateifest.

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

Weitere Informationen finden Sie unter So unterdrücken Sie Codeanalysewarnungen.

Siehe auch