1

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を使用してルールを追加します。

「マイルール」フォルダは表示されますが、ルールはありません...

私は何が欠けていますか?

よろしくお願いします。

4

1 に答える 1

1

ルールの欠落につながる最も一般的な問題のいくつかについては、http://msmvps.com/blogs/calinoiu/archive/2007/04/21/no-rules-in-your-fxcop-rule-assembly.aspxを参照してください。あなたが提供した詳細から、問題はあなたのリソース名にあるか、または(正確なコードを貼り付けている場合)ベースコンストラクターに渡すルール名があなたのルールタイプ名(「DoTheRightThing」と「DoTheRightThingRule」)。

于 2009-11-17T13:03:59.293 に答える