.net - 我可以在全局范围内抑制 FX Cop 代码分析违规行为吗?

标签 .net visual-studio code-analysis

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

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

在 checkin 源代码管理时,后者很难审查,并且很难概述所有已禁用的违规行为。所以我们想使用选项 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")]

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

[assembly: SuppressMessage("Microsoft.Design", "CA1020:AvoidNamespacesWithFewTypes")]

但这可能吗?

最佳答案

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

我同意,有时可能会很烦人,但我不能说我不同意这个决定,因为该属性是他们强制你说“是的,我知道我在做什么”的方式,这应该根据具体情况进行评估。

关于.net - 我可以在全局范围内抑制 FX Cop 代码分析违规行为吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72832/

相关文章:

asp.net - IIS(执行此操作时出错)

c# - UI自动化和菜单项

visual-studio - 将 Visual Studio 2013 解决方案升级到 Visual Studio 2015

c# - 添加所有抽象成员的非impemented stub 的简单方法

code-analysis - Klee的限制(LLVM程序分析工具)

使用 vera++ 分析 C 代码

java - 下面的代码分析是什么意思?

c# - 是否可以检查字符串编码?

c# - 如何添加到 Visual Studio 错误列表窗口中的消息列表?

c# - 显式转换 XAttribute 值