【问题标题】:How to suppress warnings from particular dll如何抑制来自特定 dll 的警告
【发布时间】:2012-02-22 20:16:38
【问题描述】:

我在我的项目中添加了不符合 CLS 的第 3 方 Lotus Notes dll。我需要设置“将警告视为错误”。我如何才能仅抑制来自该特定 dll 的所有警告。

所有警告都像

Identifier 'Domino.Name_Of_Identifier' is not CLS-compliant

【问题讨论】:

    标签: c# c#-4.0 dll lotus-notes


    【解决方案1】:

    您不能禁止来自特定 DLL 的警告 - 但您可以关闭特定警告。

    在消息中,您会看到一个类似 CS3008 的数字 - 进入项目属性、构建选项卡,然后将其输入到抑制警告字段中。

    【讨论】:

    • 感谢 Beven,当我添加警告编号以禁止列表时,它给了我错误,即编号 CS3008 不是有效的警告编号。请告诉我该怎么做。谢谢
    • 您需要使用您试图抑制的特定警告中的实际数字。
    • 即你输入 3008 而不是 CS3008
    【解决方案2】:

    您可以使用 #pragma warning 在本地禁用警告

    要禁用Common Language Specification 警告,请使用以下警告编号:

    40025, 40026, 40027, 40028

    或者,您可以使用CLSCompliantAttribute 将您的班级或您的聚会标记为不符合 CLS,但在这种情况下,我想这就像用枪打苍蝇一样。

    【讨论】:

    • 如果在程序集级别我添加 cslcompliance[true] 而在本地级别我说 clscompliance[false].. 全局会被本地覆盖吗?
    • 这个特殊属性有Inherited = true,这意味着它可以被继承。是的,您可以根据需要覆盖本地类、结构、枚举、构造函数等。
    【解决方案3】:

    经过努力,我找到了完美的解决方案。打开输出窗口并构建解决方案。您将看到警告。将此警告添加到 Bevan 显示的窗口中。它有效。

    【讨论】:

      猜你喜欢
      • 2021-10-25
      • 2010-11-04
      • 1970-01-01
      • 1970-01-01
      • 2015-04-13
      • 2010-10-03
      • 2012-06-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多