Partage via


Éviter un format hérité pour la cible dans l’attribut global « SuppressMessageAttribute » (IDE0077)

Propriété Valeur
Identificateur de la règle IDE0077
Titre Éviter un format héritée pour la cible dans l’attribut global SuppressMessageAttribute
Catégorie CodeQuality
sous-catégorie Règles diverses
langues applicables C# et Visual Basic

Aperçu

Cette règle signale les SuppressMessageAttributes globaux qui spécifient Target en utilisant le format de chaîne cible FxCop hérité. L’utilisation du format hérité Target est connue pour avoir des problèmes de performances et doit être évitée. Pour plus d’informations, consultez Problème dotnet/roslyn 44362.

Le format recommandé pour Target est le format d’ID de documentation. Pour plus d’informations sur les ID de documentation, consultez format d’ID de documentation.

Conseil

Visual Studio 2019 fournit un correctif de code pour modifier automatiquement la Target de l’attribut au format recommandé.

Options

Cette règle n’a aucune option de style de code associée.

Exemple

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

Supprimer un avertissement

Si vous souhaitez supprimer une seule violation, ajoutez des directives de préprocesseur à votre fichier source pour désactiver, puis réactivez la règle.

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

Pour désactiver la règle d’un fichier, d’un dossier ou d’un projet, définissez sa gravité sur none dans le fichier de configuration .

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

Pour désactiver toute cette catégorie de règles, définissez la gravité de la catégorie sur none dans le fichier de configuration .

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

Pour plus d’informations, consultez Comment supprimer les avertissements d’analyse du code.

Voir aussi