Fxcop的全局抑制类文件

时间:2012-03-20 08:00:22

标签: .net visual-studio code-analysis fxcop suppress-warnings

  1. 实际上什么是全局抑制文件?
  2. 要使用的实际文件名是什么?是GlobalSuppression.cs还是GlobalSuppression * s * .cs ?? (我看到很多例子都使用了两个......!所以,很困惑......例如here
  3. 我是否应该为每个程序集分别使用此文件来抑制消息,或者,我是否可以保留一个包含解决方案中所有项目的消息抑制的文件?

1 个答案:

答案 0 :(得分:0)

您正在描述一个名为CodeAnalysis的功能,可在Visual Studio Premium和Ultimate中使用。它实际上是FxCop集成到VS. (我没有使用它,因为我只有VS表达并且必须单独运行FxCop。)

您可以将抑制消息放在任何您喜欢的文件中,也不必将其称为GlobalSuppressions.cs。只要它包含在项目中。

GlobalSupressions.cs是Visual Studio的集成代码分析功能默认使用的名称。 (实际上,在您链接的页面末尾有关于如何配置代码分析以使用其他文件的说明。)

因此,您可以在单独的文件中包含抑制,其中没有其他代码,例如Code Analysis。或者您可以在现有文件中包含抑制 - 我们的一个解决方案会在每个程序集Proprties.cs文件中添加抑制。

至于你是否可以保留一个包含整个解决方案所有抑制因素的文件,我怀疑它取决于你的压制以及如何 - 我已经尝试过了。

您可以指定影响当前程序集的[assembly: SuppressMessage(...)]条消息,因此无法在解决方案范围的文件中使用 - 但您可以使用scope =target =选项使其他[module: SuppressMessage(...)][SuppressMessage(...)]类型的消息有效。