Vermijd verouderd formaatdoel in globale 'SuppressMessageAttribute' (IDE0077)
Eigendom | Waarde |
---|---|
Regel-ID | IDE0077 |
titel | Vermijd verouderde indelingsdoel in globale SuppressMessageAttribute |
categorie | CodeQuality |
Subcategorie | Diverse regels |
Toepasselijke talen | C# en Visual Basic |
Overzicht
Deze regel markeert globale SuppressMessageAttributes- die Target
opgeven met behulp van de verouderde FxCop doeltekenreeksindeling. Het is bekend dat het gebruik van de verouderde indeling Target
prestatieproblemen heeft en moet worden vermeden. Zie dotnet/roslyn issue 44362voor meer informatie.
De aanbevolen indeling voor Target
is de documentatie-ID indeling. Zie Documentatie-id-indelingvoor meer informatie over documentatie-id's.
Tip
Visual Studio 2019 biedt een code-fix om Target
van het kenmerk automatisch in de aanbevolen indeling te veranderen.
Opties
Deze regel heeft geen gekoppelde opties voor codestijl.
Voorbeeld
// 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;
}
}
Een waarschuwing onderdrukken
Als u slechts één schending wilt onderdrukken, voegt u preprocessorrichtlijnen toe aan uw bronbestand om de regel uit te schakelen en vervolgens opnieuw in te schakelen.
#pragma warning disable IDE0077
// The code that's violating the rule is on this line.
#pragma warning restore IDE0077
Als u de regel voor een bestand, map of project wilt uitschakelen, stelt u de ernst ervan in op none
in het configuratiebestand.
[*.{cs,vb}]
dotnet_diagnostic.IDE0077.severity = none
Als u deze hele categorie regels wilt uitschakelen, stelt u de ernst voor de categorie in op none
in het configuratiebestand.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-CodeQuality.severity = none
Voor meer informatie, zie Hoe codeanalysewaarschuwingen onderdrukken.