【问题标题】:warnings about mystery interfaces in C# projects关于 C# 项目中神秘接口的警告
【发布时间】:2011-03-04 23:37:22
【问题描述】:

每次构建 C# 解决方案时,都会收到一些关于我从未见过或编写过的接口的警告。我尝试用谷歌搜索其中一些,但没有得到任何点击。这些可能被埋在我引用的程序集中吗?如果是这样,有没有办法让这些警告消失?

接口“IAlertable”被标记为 [dual],但不是从 IDispatch 派生的。它将被转换为 IUnknown 派生接口。

接口“ICustomizationPermissionsReports”被标记为 [dual],但不是从 IDispatch 派生的。它将被转换为 IUnknown 派生接口。

接口“IAlertable2”被标记为 [dual],但不是从 IDispatch 派生的。它将被转换为 IUnknown 派生接口。

【问题讨论】:

  • 您是否在项目设置中检查了注册 COM 互操作设置?
  • 您是否引用了任何 COM dll?当引用的 COM 组件未正确定义时,您会收到这些警告。
  • @Chaos:在我的项目属性的 Build 部分中,“Register for COM interop”没有被选中,它实际上被禁用了。

标签: c# interface warnings idispatch iunknown


【解决方案1】:

它们必须来自您引用的 COM 程序集。你可以试着找出是哪一个。看起来包装器代码的编写/生成不正确。

而且 Visual Studio 确实有一个“抑制警告:”文本框,但我不知道在那儿输入什么。
项目属性,构建

【讨论】:

    【解决方案2】:

    这些是 HP Quality Center OTA-API“Interop.TDAPIOLELib”(一个 ActiveX COM 类型库)的接口。 检查您的参考资料。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-05
      • 1970-01-01
      相关资源
      最近更新 更多