如何将COM .dll添加到.NET项目中,然后在不在GAC中注册的情况下使用它。背景是我不允许在TFS构建服务器上安装任何东西,我的应用程序引用COM dll组件。我应该如何将COM添加到我的应用程序以引用来自bin / define文件夹而不是来自GAC?
编辑:
当我通过添加引用添加COM并浏览到DLL时出现错误“无法添加对(...)的引用。请确保该文件可访问,并且它是有效的程序集或COM组件。“
谢谢, 莱谢克
答案 0 :(得分:2)
COM DLL未安装到GAC中。主互操作组件(PIA)可以,但我认为这不是你需要的。你在哪台机器上收到这条消息?你得到它是因为你的COM DLL没有注册为COM服务器(regsvr32.exe
)。这与GAC无关。在开发机器上注册后,您就可以将其添加为.NET项目的参考。添加它将生成所需的互操作程序集,但它们仍然是项目的本地程序,您不必将它们安装到GAC中。
或者,您可以使用tlbimp
或aximp
工具手动生成互操作assmeblies,然后将它们添加到项目中。
无论您选择哪种方式,COM DLL仍然必须在您的开发计算机上注册,但在TFS构建计算机上不必如此。此外,您可以使用Isolated COM来避免客户端计算机上的注册要求。您所需要的只是将COM DLL及其互操作程序集与您的主应用程序驻留在同一文件夹中。
答案 1 :(得分:0)