2009-09-07 63 views
1

我在Visual中有一个C#项目  Studio   2005引用了一些COM库。当我建立这样的错误时抛出:自动强名称COM互操作封装

引用的程序集'assemblyName'没有一个强名称。

现在,我用Visual的  Studio   2003引用COM程序集,它会自动签署Interop包装。我所要做的就是设置'包装程序集密钥文件'。

我试图在Visual  找到一个类似的设置工作室  2005年,但我找不到任何。所以我想知道是否有强大的命名COM Interops在视觉 工作室  2005和摆脱上述错误的任何等效方式。

回答

0

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

+1

是的,我可以在命令行上做到这一点。但是我所引用的COM库与在C#项目中的引用处于相同的解决方案。是的,即使在这种情况下,我可以使用tlbimp作为post或prebuild事件。不过,我想知道VS2005中是否有一些简单的用户界面设置,就像我们以前在VS2003中所做的那样。 – 2009-09-07 13:37:04

0

除了使用Visual Studio,您可以使用Tlbimp.exe和 Aximp.exe来生成Interops。 Tlbimp.exe有签名选项。

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