3

如何将 COM .dll 添加到 .NET 项目中,然后在不注册 GAC 的情况下使用它。背景是我不允许在 TFS 构建服务器上安装任何东西,并且我的应用程序引用了 COM dll 组件。我应该如何将 COM 添加到我的应用程序以引用来自 bin/define 文件夹而不是来自 GAC?

编辑:

当我通过添加引用添加 COM 并浏览到 DLL 时出现错误“无法添加对 (...) 的引用。请确保该文件可访问,并且它是有效的程序集或 COM 组件。”

谢谢, 莱斯泽克

4

2 回答 2

2

COM DLL 不会安装到 GAC 中。主互操作程序集 (PIA) 可以,但我认为这不是您需要的。您在什么机器上收到此消息?您得到它是因为您的 COM DLL 没有注册为 COM 服务器(带有regsvr32.exe)。这与GAC 无关。在您的开发机器上注册它后,您就可以将它添加为对您的 .NET 项目的引用。添加它会生成所需的互操作程序集,但它们仍然是您项目的本地程序,您不必将它们安装到 GAC 中。

或者,您可以使用tlbimpaximp工具并手动生成互操作程序集,然后将它们添加到项目中。

无论您采取何种选择,COM DLL 仍然必须在您的开发机器上注册,但在 TFS 构建机器上不必如此。此外,您可以使用隔离 COM来避免客户端计算机上的注册要求。然后,您所需要的就是让 COM DLL 及其互操作程序集与您的主应用程序位于同一文件夹中。

于 2013-09-20T11:32:09.980 回答
0

您是否尝试过http://msdn.microsoft.com/en-us/library/ms973913.aspx中描述的方法?

于 2013-09-20T09:06:59.347 回答