我有代码捕获所有内容并记录它。我通常不会这样做,但我正在编写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的一部分。
答案 0 :(得分:19)
- 在解决方案资源管理器中,右键单击您的项目并选择 的属性即可。
- 在属性窗口中,选择构建标签。
- 在条件编辑符号文本框中,输入 的 CODE_ANALYSIS 即可。
- 在要禁止某些消息的代码中,添加 命名空间 System.Diagnostics.CodeAnalysis 到使用部分。
- 在FxCop中,右键单击要抑制的消息 选择复制为 - > SuppressMessage 即可。
- 在您的C#代码中,将SuppressMessage属性粘贴到您的 代码。
醇>
你的SupressMessage看起来是正确的,所以它可能是缺少的条件编译符号!
希望这有帮助,至少可以在我的机器上运行;) 格雷茨,汤姆。