【问题标题】:Automatically strong naming COM Interop wrappers自动强命名 COM 互操作包装器
【发布时间】:2009-09-07 13:16:23
【问题描述】:

我在 Visual Studio 2005 中有一个 C# 项目,它引用了一些 COM 库。当我构建它时,会抛出这样的错误:

引用的程序集“assemblyName”没有强名称。

现在,我曾经在 Visual Studio 2003 中引用 COM 程序集,它会自动签署互操作包装器。我所要做的就是设置“Wrapper Assembly Key File”。

我尝试在 Visual Studio 2005 中找到类似的设置,但找不到。所以我想知道是否有任何等效的方法可以在 Visual Studio 2005 中强命名 COM 互操作并消除上述错误。

【问题讨论】:

    标签: visual-studio com-interop strongname


    【解决方案1】:

    看起来它已经在“Where is the Wrapper Assembly Key File setting in VS 2008?”问题中得到了回答。

    【讨论】:

    • 是的,我可以在命令行上执行此操作。但是我引用的 COM 库与引用 C# 项目的解决方案相同。是的,即使在这种情况下,我也可以将 tlbimp 用作发布或预构建事件。但是,我想知道 VS2005 中是否有一些简单的 UI 设置,就像我们过去在 VS2003 中所做的那样。
    【解决方案2】:

    您可以使用 Tlbimp.exe 和 Aximp.exe 生成互操作。 Tlbimp.exe 具有签名选项。

    我已使用它们为我的应用程序中同一 COM 组件的每个不同版本生成一个互操作文件。 COM 组件是供应商提供的 COM 组件,用于访问质谱文件中的数据点,并且随着供应商软件的新版本发布,COM 接口会不时更改。然后,应用程序可以在运行时决定使用哪个 Interop,以匹配安装应用程序的计算机上安装的版本。 我用于生成 Interops 的 BAT 文件is online

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-01
      • 2013-04-25
      • 2012-03-03
      • 2011-02-04
      • 2010-11-14
      • 1970-01-01
      相关资源
      最近更新 更多