1

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

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

现在,我曾经在 Visual Studio 2003 中引用 COM 程序集,它会自动对 Interop 包装器进行签名。我所要做的就是设置“包装程序集密钥文件”。

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

4

2 回答 2

0

看起来它已经在“ VS 2008 中的 Wrapper Assembly Key File 设置在哪里? ”问题中得到了回答。

于 2009-09-07T13:27:46.440 回答
0

您可以使用 Tlbimp.exe 和 Aximp.exe 来生成互操作,而不是使用 Visual Studio。Tlbimp.exe 具有签名选项。

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

于 2009-09-07T13:40:20.673 回答