System.Runtime.InteropServices.COMException Message:

本文关键字:Message COMException InteropServices Runtime System | 更新日期: 2023-09-27 18:30:52

我已经将我的 32 位 Web 应用程序转换为 64 位并将其部署在 64 位机器上,所有模块都工作正常,只有一个。 为什么这个会抛出这个异常?

System.Runtime.InteropServices.COMException 消息:检索 具有 CLSID 的组件的 COM 类工厂 {494A8C73-FA00-43A7-9F1D-6DBF80EC2B63} 由于以下原因而失败 错误:80040154类未注册(来自 HRESULT 的异常: 0x80040154(REGDB_E_CLASSNOTREG))。

我理解的是我的代码正在调用 32 位的 dll,但是当我检查我的 64x 调试时,我也在那里找到了它。

System.Runtime.InteropServices.COMException Message:

您正在运行 64 位应用程序,并且导致该异常的 DLL 或 OCX 很可能是 32 位应用程序。我认为除非您获得该文件的 64 位版本,否则您无法解决此问题。

查看以下有关 IIS 6 x64 系统上 Office 互操作的 COMException (0x80040154) 的链接

看起来当前没有 64 位版本的互操作 DLL,这可能是您遇到的问题。尽管文章提到了 IIS,但问题仍然相同。