Exclure namespace complet de l'analyse de code FxCop?

voix
22

Est - il possible d'exclure un espace de nom complet de toutes les analyses FxCop tout en analysant encore le reste de l'assemblage en utilisant la SuppressMessageAttribute?

Dans mon cas actuel, j'ai un tas de classes générées par LINQ to SQL qui causent beaucoup de problèmes FxCop, et évidemment, je ne vais pas modifier tous ceux pour correspondre aux normes FxCop, comme beaucoup de ces modifications serait allé si je regénérés les classes.

Je sais que FxCop a 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és et contexte créé par LINQ 2 SQL code généré.

Créé 09/12/2008 à 16:26
source utilisateur
Dans d'autres langues...                            


4 réponses

voix
18

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

FAQ: Comment puis-je éviter FxCop des avertissements de tir contre le code généré

Vous devrez peut-être ajouter un nouveau fichier de code et de mettre en œuvre de nouvelles classes partielles là pour ajouter l'attribut aux classes:

[GeneratedCode]
public partial class MainDataContext { }

Assurez-vous que vous ajoutez tout l'espace de noms correct lorsque vous créez votre nouveau fichier.

Créé 01/09/2010 à 15:32
source utilisateur

voix
5

Ajouter un [GeneratedCode] attributeaux classes.
EDIT : Je voulais dire aux classes partielles avec les mêmes noms, comme expliqué par l'autre réponse.

Créé 01/09/2010 à 15:32
source utilisateur

voix
1
<Assembly: SuppressMessage("Microsoft.Design", _
    "CA1020:AvoidNamespacesWithFewTypes", _
    Scope:="namespace", _
    Target:="Missico.IO")> 

Mettez déclaration GlobalSuppressions.vbà la racine du projet.

Tout ce que j'ai est par exemple VB.

Créé 08/03/2010 à 22:33
source utilisateur

voix
1

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

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

[GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
Créé 09/12/2008 à 16:34
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more