我们正在尝试在构建时标记外部类型(如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
答案 0 :(得分:0)
一种方法是创建自定义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))
};
}
}
我建议您查看this tutorial。