如何解决0x80040154(类未注册)错误?

时间:2013-04-03 01:55:53

标签: c# class

我使用的是Windows表单应用程序,它需要一些.dll文件。

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

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

我尝试过解决方案:

  1. 将平台从任何CPU更改为x86,无法正常工作
  2. 将所有.dll文件放入system32文件夹,无法正常工作
  3. 尝试使用regsvr32注册类,但我收到错误消息说我的.dll文件: “已装载但未找到入口点”
  4. 我甚至无法在Visual Studio中打开我的Form.cs [design],

3 个答案:

答案 0 :(得分:1)

了解您的依赖dll是否可以在win32中运行。

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

答案 1 :(得分:1)

您可以尝试使用gflags Show loader snaps

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

  

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

答案 2 :(得分:0)

正如汉斯所说,似乎你正在使用一些ActiveX组件。尝试找到哪个dll提供它然后首先通过regsvr32注册它。