Vb.net 80040154类未注册(Debenu PDF库)

Vb.net 80040154类未注册(Debenu PDF库),vb.net,dll,runtime-error,.net-4.5,windows64,Vb.net,Dll,Runtime Error,.net 4.5,Windows64,我已经成功使用Debenu PDFLibrary一段时间了。我决定将库更新为最新版本(DebenupdLibrary64Lite113.dll)。就在那时,一切都偏离了正轨 我按照安装说明进行安装,包括注册DLL。注册过程没有产生错误。注册表包含如下所示的CLSID 我的环境是64位Windows 8.1 Pro和.NET 4.5.1 framework。所有更新都已安装。开发环境是使用VS 2013社区版的Visual Basic.NET 当我像过去一样尝试使用库时,我会出现以下错误: 正在检

我已经成功使用Debenu PDFLibrary一段时间了。我决定将库更新为最新版本(DebenupdLibrary64Lite113.dll)。就在那时,一切都偏离了正轨

我按照安装说明进行安装,包括注册DLL。注册过程没有产生错误。注册表包含如下所示的CLSID

我的环境是64位Windows 8.1 Pro和.NET 4.5.1 framework。所有更新都已安装。开发环境是使用VS 2013社区版的Visual Basic.NET

当我像过去一样尝试使用库时,我会出现以下错误:

正在检索具有CLSID的组件的COM类工厂 {924F2468-6F4E-4E90-BCD3-A81D43ED8759}由于以下原因失败 错误:80040154类未注册(HRESULT异常: 0x80040154(REGDB_E_CLASSNOTREG))

代码如下:

Try
    PDFDoc = New PDFLibrary(STR_PDFLibrary)
Catch ex As InteropServices.COMException
    _TerminalErrors.Add(String.Format("Error loading PDFLibrary{0}{1}{0}{2}", vbCrLf, ex.Message, ex.StackTrace))
     Exit Function  
End Try

我已经查看了StackOverflow中有关此错误的问题,但无法找到使其正常工作的方法

可能是您注册了64位版本的ActiveX,但您的项目设置为x86(32位)

您可以尝试以下测试:

  • 注销32位和64位版本的Lite ActiveX
  • regsvr32[此处的路径]\DebenuPDFLibrary64Lite.dll/u regsvr32[此处的路径]\DebenuPDFLibraryLite.dll/u

  • 仅注册64位版本的Lite ActiveX
  • regsvr32[此处路径]\DebenuPDFLibrary64Lite.dll

  • 创建Visual Studio VB.NET项目并将平台设置为x86(而不是任何CPU或x64)

  • 运行应用程序,查看是否显示相同的错误消息

  • 如果此测试显示相同的错误消息,则有两个选项供您选择:

    选项1:注册Lite ActiveX的32位和64位版本

    这将允许您在项目中设置任何平台(x86、AnyCPU或x64)

    选项2:将项目设置更改为x64


    Lite ActiveX的32位版本无需注册,但该应用程序只能在64位系统上运行。

    感谢您提供的准确信息。这正是我所需要的。我一个人永远也想不到这一点。多么伟大的资源堆栈溢出!!!