Udostępnij za pośrednictwem


Unikaj starszego formatu docelowego w globalnym elemecie "SuppressMessageAttribute" (IDE0077)

Właściwość Wartość
Identyfikator zasady IDE0077
Tytuł Unikanie starszego formatu docelowego w skali globalnej SuppressMessageAttribute
Kategoria CodeQuality
Subcategory (Podkategoria) Reguły różne
Odpowiednie języki C# i Visual Basic

Omówienie

Ta reguła flaguje globalne atrybuty SuppressMessageAttributes , które określają Target przy użyciu starszego formatu ciągu docelowego FxCop . Korzystanie ze starszego formatu Target jest znane z problemów z wydajnością i należy go unikać. Aby uzyskać więcej informacji, zobacz dotnet/roslyn problem 44362.

Zalecanym formatem programu Target jest format identyfikatora dokumentacji . Aby uzyskać informacje o identyfikatorach dokumentacji, zobacz Format identyfikatora dokumentacji.

Porada

Program Visual Studio 2019 udostępnia poprawkę kodu, aby automatycznie zmienić Target atrybut na zalecany format.

Opcje

Ta reguła nie ma skojarzonych opcji stylu kodu.

Przykład

// 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;
    }
}

Pomijanie ostrzeżenia

Jeśli chcesz pominąć tylko jedno naruszenie, dodaj dyrektywy preprocesora do pliku źródłowego, aby wyłączyć, a następnie ponownie włączyć regułę.

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

Aby wyłączyć regułę dla pliku, folderu lub projektu, ustaw jego ważność na none w pliku konfiguracji.

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

Aby wyłączyć tę całą kategorię reguł, ustaw ważność dla kategorii na none w pliku konfiguracji.

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

Aby uzyskać więcej informacji, zobacz Jak pominąć ostrzeżenia analizy kodu.

Zobacz też