1

我使用需要一些 .dll 文件的 Windows 窗体应用程序。

我第一次完成它,构建并运行,它工作并且很好。(64 位处理器、64 位 Windows 7、Visual Studio 2012)

然后,我将整个项目复制并粘贴到其他 PC(64 位处理器、32 位 Windows 8、Visual Studio 2012)。我无法运行它,出现错误消息“类未注册,异常形式 HResult 0x080040154 (REGDB_E_CLASSNOTREG)”

我已经尝试过解决方案:

  1. 将平台从anyCPU更改为x86,不起作用
  2. 将所有 .dll 文件放入 system32 文件夹,不起作用
  3. 尝试使用 regsvr32 注册类,但我收到错误消息说我的 .dll 文件:“已加载但未找到入口点”

而且我什至无法在 Visual Studio 中打开我的 Form.cs[design],

4

3 回答 3

1

您可以尝试 gflags Show loader snaps

在 gflags 中检查并将 windbg 附加到您的应用程序,然后您将看到有关模块加载的所有详细信息。您可能会发现一些类似于以下的错误:

LdrpGenericExceptionFilter - 错误:函数 LdrpSnapIAT 引发异常 0xc0000139

于 2014-06-24T05:21:25.243 回答
1

看看你的依赖dll是否可以在win32下工作。

这可能是由于 dll 依赖于仅在 64 中可用的其他。

于 2013-04-03T04:13:57.010 回答
0

正如 Hans 建议的那样,您似乎正在使用一些 ActiveX 组件。尝试查找提供它的 dll,然后首先通过 regsvr32 注册它。

于 2013-04-03T04:13:00.727 回答