如何抑制 FxCop 规则“DoNotCatchGeneralExceptionTypes”与抑制消息?

发布于 2024-09-18 17:36:26 字数 391 浏览 9 评论 0原文

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

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

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

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

I've got code that catches everything and logs it. I don't normally do this, but I'm writing an HTTP handler and want to return an appropriate HTTP code. Anyway, I'm putting the following at the top of my method:

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

FxCop is seemingly ignoring this, which is very frustrating. Especially as it's also ignoring all of my compound word overrides too!

Any idea why it's doing this? I'm using FxCop 10 which is part of the Windows 7/.NET 4 SDK.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

深海里的那抹蓝 2024-09-25 17:36:26
  1. 解决方案资源管理器中,右键单击您的项目并选择
    属性
  2. 属性窗口中,选择构建选项卡。
  3. 条件编译符号文本框中,输入
    CODE_ANALYSIS
  4. 在您想要禁止某些消息的代码中,添加
    名称空间
    System.Diagnostics.CodeAnalysis 到使用部分。
  5. 在 FxCop 中,右键单击要隐藏的消息,然后
    选择复制为->抑制消息
  6. 在您的 C# 代码中,将 SuppressMessage 属性粘贴到
    代码。

您的 SupressMessage 看起来正确,因此它可能是缺少条件编译符号!

希望这有帮助,至少在我的机器上有效;)
再见,汤姆。

来源

  1. In Solution Explorer, right-click your project and choose
    Properties.
  2. In the Properties window, choose the Build tab.
  3. In the Conditional compilation symbols text box, enter
    CODE_ANALYSIS.
  4. In the code where you want to suppress certain messages, add the
    namespace
    System.Diagnostics.CodeAnalysis to the using section.
  5. In FxCop, right-click the message you want to suppress and
    select Copy As -> SuppressMessage.
  6. In your C# code, paste the SuppressMessage attribute in your
    code.

Your SupressMessage looks correct, so it could be the missing conditional compilation symbol!

Hope this helps, at least works on my machine ;)
Greetz, Tom.

Source

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文