2009-11-16 16 views
1

J'essaie de développer une règle personnalisée pour fxcop.Je ne peux pas voir mes règles personnalisées avec fxcop

J'ai ce code:

namespace TestCustomRuleFxCop 
{ 
    public class DoTheRightThingRule : BaseIntrospectionRule 
    { 
     public DoTheRightThingRule() 
      : base("DoTheRightThing", "TestCustomRuleFxCop.Rules", 
        typeof(DoTheRightThingRule).Assembly) 
     { 
     } 

     public override ProblemCollection Check(Member member) 
     { 
      return null; // todo 
     } 
    } 
} 

J'ai ce xml (du nom rules.xml et de l'action de construction mis à intégré ressource)

<?xml version="1.0" encoding="utf-8" ?> 
<Rules FriendlyName="My rules"> 
    <Rule TypeName="DoTheRightThingRule" Category="MyCategory" CheckId="MyId"> 
    <Name>My rule name</Name> 
    <Description>My description</Description> 
    <Resolution>Add Resolution</Resolution> 
    <Email></Email> 
    <MessageLevel Certainty="100">Warning</MessageLevel> 
    <FixCategories>Breaking</FixCategories> 
    </Rule> 
</Rules> 

je compile, exécutez FxCop et ajouter des règles avec cette DLL.

Je peux voir la rubrique « Mon règlement » dossier mais, il n'y a pas de règle ...

Qu'est-ce que je manque?

Merci pour votre aide, Cordialement

Répondre

1

Voir http://msmvps.com/blogs/calinoiu/archive/2007/04/21/no-rules-in-your-fxcop-rule-assembly.aspx pour certains des problèmes qui conduisent à des règles manquantes les plus courantes. À partir des détails que vous avez fournis, je suppose que le problème réside soit avec le nom de votre ressource, soit avec le fait que le nom de la règle que vous transmettez au constructeur de base ne correspond pas à votre nom de ressource. nom du type de règle ("DoTheRightThing" vs "DoTheRightThingRule").

+0

merci pour votre aide, après avoir recréé le projet, ça fonctionne ... meilleures salutations – Tim