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

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

Übersicht

Diese Regel kennzeichnet globale SuppressMessageAttribute-Attribute, die Target mithilfe des Zielzeichenfolgenformats FxCop (Legacy) angeben. Durch die Verwendung des Legacyformats Target können Leistungsprobleme auftreten. Daher sollte es nicht verwendet 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 unter Format der Dokumentations-ID.

Tipp

Visual Studio 2019 bietet eine Codekorrektur, mit der das Target des Attributs automatisch auf das empfohlene Format korrigiert wird.

Optionen

Dieser Regel sind keine Codeformatoptionen zugeordnet.

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

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 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 Konfigurationsdatei auf none fest.

[*.{cs,vb}]
dotnet_diagnostic.IDE0077.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