C# CA1502的自定义阈值
有没有办法更改代码分析规则的阈值 特别是,当一个方法的代码复杂度超过20时,我们希望我们的构建失败。不幸的是,规则的阈值为25: 当圈复杂度大于25时,该规则报告一个冲突C# CA1502的自定义阈值,c#,code-analysis,C#,Code Analysis,有没有办法更改代码分析规则的阈值 特别是,当一个方法的代码复杂度超过20时,我们希望我们的构建失败。不幸的是,规则的阈值为25: 当圈复杂度大于25时,该规则报告一个冲突 我们能改变这个吗?是的,这是可能的。不幸的是,为可配置规则提供自定义规则设置的唯一方法是通过.fxcop项目文件,由于规则集和项目文件的处理顺序,该文件无法与VStudio无缝集成。基本上,如果希望同时使用规则集文件和项目文件,则需要在禁用规则的情况下在项目文件中包含所有规则库文件的列表。然后,您将能够通过规则集控制规则是启用
我们能改变这个吗?是的,这是可能的。不幸的是,为可配置规则提供自定义规则设置的唯一方法是通过
.fxcop
项目文件,由于规则集和项目文件的处理顺序,该文件无法与VStudio无缝集成。基本上,如果希望同时使用规则集文件和项目文件,则需要在禁用规则的情况下在项目文件中包含所有规则库文件的列表。然后,您将能够通过规则集控制规则是启用还是禁用。设置完毕后,可以使用settings
部分调整圈复杂度规则的设置,如下所示(假设所有阈值都设置为20):
20
20
20
20
20
20
CA1502规则还没有Roslyn端口,因此唯一的实现是如上所述配置的“遗留”端口。
<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>