如何使用SupressMessage抑制FxCop规则'DoNotCatchGeneralExceptionTypes'?

时间:2010-09-10 10:03:03

标签: fxcop

我有代码捕获所有内容并记录它。我通常不会这样做,但我正在编写HTTP处理程序并希望返回适当的HTTP代码。无论如何,我把以下内容放在我的方法的顶部:

[SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes", Justification = "We just log the exception and return an HTTP code")]

FxCop似乎忽略了这一点,这非常令人沮丧。特别是因为它也忽略了我所有的复合词覆盖!

知道为什么会这样做吗?我正在使用FxCop 10,它是Windows 7 / .NET 4 SDK的一部分。

1 个答案:

答案 0 :(得分:19)

  
      
  1. 解决方案资源管理器中,右键单击您的项目并选择   的属性即可。
  2.   
  3. 属性窗口中,选择构建标签。
  4.   
  5. 条件编辑符号文本框中,输入   的 CODE_ANALYSIS 即可。
  6.   
  7. 在要禁止某些消息的代码中,添加   命名空间    System.Diagnostics.CodeAnalysis 到使用部分。
  8.   
  9. 在FxCop中,右键单击要抑制的消息   选择复制为 - > SuppressMessage 即可。
  10.   
  11. 在您的C#代码中,将SuppressMessage属性粘贴到您的   代码。
  12.   

你的SupressMessage看起来是正确的,所以它可能是缺少的条件编译符号!

希望这有帮助,至少可以在我的机器上运行;) 格雷茨,汤姆。

Source