Question

Est-il possible d'exclure un espace de noms complet de toutes les analyses FxCop tout en analysant le reste de l'assembly à l'aide de la SuppressMessageAttribute?

Dans mon cas actuel, j'ai beaucoup de classes générées par LINQ to SQL qui causent beaucoup de problèmes avec FxCop, et bien entendu, je ne modifierai pas toutes celles-ci pour qu'elles correspondent aux normes FxCop, car beaucoup de ces modifications seraient parti si je re-généré les classes.

Je sais que FxCop dispose d'une option de projet pour supprimer l'analyse sur le code généré, mais il ne semble pas reconnaître les classes d'entité et de contexte créées par LINQ 2 SQL en tant que code généré.

Était-ce utile?

La solution

Si vous balisez vos classes avec l'attribut [GeneratedCode], vous pouvez utiliser l'indicateur / ignoregeneratedcode avec FxCop comme décrit dans cet article MSDN:

FAQ: Comment empêcher FxCop de déclencher des avertissements contre le code généré

Vous devrez peut-être ajouter un nouveau fichier de code et y implémenter de nouvelles classes partielles pour ajouter l'attribut aux classes:

[GeneratedCode]
public partial class MainDataContext { }

Assurez-vous simplement que vous ajoutez tout au bon espace de noms lorsque vous créez votre nouveau fichier.

Autres conseils

Ajouter un [GeneratedCode] attribute aux cours.
MODIFIER : je voulais dire des classes partielles portant le même nom, comme expliqué par l'autre réponse.

Utilisez l'attribut de code généré, voici le article de blog de l'équipe d'analyse de code sur le sujet.

Ceci en haut de l'espace de noms devrait faire l'affaire:

[GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
<Assembly: SuppressMessage("Microsoft.Design", _
    "CA1020:AvoidNamespacesWithFewTypes", _
    Scope:="namespace", _
    Target:="Missico.IO")> 

Placez l'instruction dans GlobalSuppressions.vb à la racine du projet.

Tout ce que j'ai est un exemple de VB.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top