3

ConfigurationManagerビルド時に外部型 ( など) の使用にフラグを立てようとしています。

カスタム コード分析ディクショナリは [1] 役立つ可能性がありますが、ソースがプロジェクトに含まれるシナリオに限られます。同様に、Obsolete属性はプロジェクトに含まれるタイプで機能します。

コード分​​析ルールがメソッド本体を検査できるかどうかさえわかりませんか? [2]。

ビルド時に外部の型/メソッドの使用にフラグを付ける方法について何か提案はありますか?

[1] - http://msdn.microsoft.com/en-us/library/bb514188.aspx

[2] - http://msdn.microsoft.com/en-us/library/dd172127(v=vs.90).aspx

4

1 に答える 1

0

これを行う1つの方法は、カスタムFxCopルールを作成し、コード分析フェーズ中に次のようなフィールドをチェックすることです。

internal sealed class SampleRule : BaseIntrospectionRule
{

    public override ProblemCollection Check(Member member)
    {
        const string typeName = "System.DateTime";
        var field = member as Field;
        if (field == null || field.Type.FullName != typeName)
            return null;
        return new ProblemCollection 
        { 
            new Problem(new Resolution(field.Name.Name, "Type {0} is obsolete", typeName)) 
        };
    }
}

このチュートリアルをご覧になることをお勧めします。

于 2012-11-05T09:00:03.207 に答える