Не могу увидеть мои пользовательские правила с fxcop - PullRequest
1 голос
/ 16 ноября 2009

Я пытаюсь разработать собственное правило для fxcop.

У меня есть этот код:

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

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

У меня есть этот xml (с именем Rules.xml и задайте для действия сборки встроенный ресурс)

<?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>

Я компилирую, запускаю fxcop и добавляю правила с помощью этой dll.

Я вижу папку "Мои правила", но в ней нет правила ...

Чего мне не хватает?

Спасибо за вашу помощь, С наилучшими пожеланиями

1 Ответ

1 голос
/ 17 ноября 2009

См. http://msmvps.com/blogs/calinoiu/archive/2007/04/21/no-rules-in-your-fxcop-rule-assembly.aspx для некоторых наиболее распространенных проблем, которые приводят к отсутствию правил. Исходя из предоставленной вами информации, я предполагаю, что проблема связана либо с именем вашего ресурса, либо (если вы вставили свой точный код) с тем фактом, что имя правила, которое вы передаете базовому конструктору, не соответствует вашему имя типа правила («DoTheRightThing» против «DoTheRightThingRule»).

...