CA1502的自定义阈值

有没有办法改变CodeAnalysis规则的门槛?

特别是,当方法的代码复杂度超过20时,我们希望Build失败。不幸的是,规则CA1502的阈值为25:

当圈复杂度超过25时,该规则会报告违规行为。

我们能以某种方式改变这个吗?

是的,这是可能的。 遗憾的是,为可配置规则提供自定义规则设置的唯一方法是通过.fxcop项目文件,由于处理规则集和项目文件的顺序,该文件无法与VStudio无缝集成。 基本上,如果要同时使用规则集文件和项目文件,则需要在项目文件中包含所有规则库文件的列表,并禁用规则。 然后,您将能够通过规则集控制是启用还是禁用规则。 完成所有设置后,您可以使用如下Settings部分调整圈复杂度规则的Settings (假设您可以将所有阈值设置为20):

   20 20 20 20 20 20