我可以全局抑制FX Cop代码分析违规吗?

Tho*_*sen 9 .net code-analysis visual-studio

当您使用Visual Studio的代码分析(FxCop),并且想要抑制消息时,有3个选项.

  1. 在代码中抑制违规.
  2. 抑制GlobalSupression.cs文件中的违规.
  3. 禁用项目文件中的违规检查(通过项目 - >属性 - >代码分析).

在签入源代码管理时很难检查后者,并且很难概述所有禁用的违规行为.所以我们想使用选项2.

选项1和2的问题是每次违规都会得到一条抑制线.例如:

[assembly: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "Company.Project.Namespace2")]
[assembly: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes", Scope = "namespace", Target = "Company.Project.Namespace1")]
Run Code Online (Sandbox Code Playgroud)

我们很乐意在GlobalSuppressions.cs上做这样的事情:

[assembly: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes")]
Run Code Online (Sandbox Code Playgroud)

但这可能吗?

Ish*_*eel 9

官方不支持使用单个SuppressMessage属性抑制多个违规.显然,这是设计的.

我同意,有时可能会讨厌,但我不能说我不同意这个决定,因为这个属性是他们强迫你说"是的,我知道我在做什么"的方式,应该在个案基础.