0

我有一个 COM DLL (MyWrapper),其中定义了一个 COM ATL 对象(类)。这个 COM dll 基本上是我的 WPF .exe 和本机 MFC DLL 之间的接口。

在我将 COM DLL 放入源代码管理以检查代码之前,一切都运行良好。我放置了 Pre 和 post build 事件以将 DLL 复制到我们想要的位置。当我编译时,我得到了错误。

无法注册 dll。尝试启用每个用户重定向

我在链接器中启用了该选项。DLL 编译成功并复制到目录中。然后我尝试添加对 WPF 项目的引用,它给了我以下错误

无法添加对 MyWrapper.dll 的引用。请确保该文件可访问并且它是有效的程序集或 COM 组件

当我删除前/后构建事件然后添加引用时,一切都很好。我在 Dependency walker 中加载了 DLL,它显示 IESHIMS.dll 丢失。

我尝试使用 regsvr32 注册 DLL,但返回错误:

模块“MyWrapper.dll”已加载,但对 DllRegisterserver 的调用失败,错误代码为 0x80070715。

我在我的机器上拥有管理员权限,并且以管理员身份运行 Visual Studio。

4

1 回答 1

0

在 postBuild 事件中,我创建了 COM 的代理 dll 并将该 dll 添加到我的 WPF 应用程序中。这解决了我的问题。

于 2013-06-30T07:57:58.377 回答