有没有办法更改CodeAnalysis规则的阈值?
特别是,当方法的代码复杂度超过20时,我们希望Build失败。不幸的是,规则CA1502的阈值为25:
当圈复杂度超过25时,规则会报告违规行为。
我们可以以某种方式改变这种情况吗?
答案 0 :(得分:2)
是的,这是可能的。遗憾的是,为可配置规则提供自定义规则设置的唯一方法是通过.fxcop
项目文件,由于处理规则集和项目文件的顺序,该文件无法与VStudio无缝集成。基本上,如果要同时使用规则集文件和项目文件,则需要在项目文件中包含所有规则库文件的列表,并禁用规则。然后,您将能够通过规则集控制是启用还是禁用规则。完成所有设置后,您可以使用Settings
部分调整圈复杂度规则的设置,如下所示(假设您可以将所有阈值设置为20):
<Settings>
<Rule TypeName="AvoidExcessiveComplexity">
<Entry Name="Warning Threshold">20</Entry>
<Entry Name="Information Threshold">20</Entry>
<Entry Name="Critical Warning Threshold">20</Entry>
<Entry Name="Critical Error Threshold">20</Entry>
<Entry Name="Error Threshold">20</Entry>
<Entry Name="Recommended Threshold">20</Entry>
</Rule>
</Settings>