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.