我们尝试在构建时标记外部类型(如ConfigurationManager
)的使用。
自定义代码分析字典可以帮助[1],但仅在项目中包含source的情况下。类似地,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
2条答案
按热度按时间2w3rbyxf1#
一种方法是创建自定义FxCop规则,在代码分析阶段检查字段,如下所示:
字符串
我建议你看看this tutorial。
uurity8g2#
对于在2023年及以后遇到这个问题的人来说,现在有一个Roslyn分析器可以解决这个问题。
请参阅Microsoft.CodeAnalysis.BannedApiAnalyzers。
您需要:
1.引用分析器包(使用
Directory.Build.props
或自定义props
文件将允许对解决方案全局执行此操作);1.创建一个新的
BannedSymbols.txt
,并将所有禁用的符号包含其中;1.将
BannedSymbols.txt
包含在与分析仪相同的项目中;例如,为了禁止
Refit.RestService
类型,您需要有T:Refit.RestService;Don't use it
之类的东西,这将导致在您的IDE、. net CLI和CI中出现编译警告。x1c 0d1x的数据