忽略Visual Studio中的代码分析规则

时间:2009-09-18 15:51:27

标签: visual-studio visual-studio-2008 code-analysis

如何在以下内容中忽略特定的VS代码分析规则(例如CA1305:Microsoft.Globalization):

  • 方法
  • 类?
  • 命名空间?

(假设这些选项都是可能的。)

3 个答案:

答案 0 :(得分:5)

您可以使用SupressMessage属性,如下所示: -

[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2233:OperationsShouldNotOverflow", MessageId = "newValue+1", Justification = "The reason I think its acceptable in this case")]
void SomeMethod()
{
   // Some code that would normal cause this Code Analysis message
}

关于方法,属性,类型等。

答案 1 :(得分:1)

我按照@ TrueWill对@AnthonyWJones回答的评论建议下载了FXCop。这给了我SuppressMessage:

[SuppressMessage("Microsoft.Globalization",
    "CA1305:SpecifyIFormatProvider",
    MessageId = "System.String.Format(System.String,System.Object)")]

这比应该的要困难得多。 FXCop与Visual Studio的集成发生了什么?感谢回答者的帮助。

答案 2 :(得分:0)

使用#pragma warning(suppress: Cxxxx)

您可以将pragma放在源文件的适当范围内(即类,方法)

请参阅http://msdn.microsoft.com/en-us/library/2c8f766e(VS.80).aspx