2

当我处理 COM 组件访问时,我收到了这个错误。

无法将“Microsoft.Office.Interop.Access.ApplicationClass”类型的 COM 对象转换为接口类型“Microsoft.Office.Interop.Access._Application”。

此操作失败,因为 IID 为“{68CCE6C0-6129-101B-AF4E-00AA003F0F07}”的接口的 COM 组件上的 QueryInterface 调用因以下错误而失败:加载类型库/DLL 时出错。(来自 HRESULT 的异常:0x80029C4A (TYPE_E_CANTLOADLIBRARY))。

实际上它是一个从 B 6.0 迁移到 VB.NET 的项目。

谁能帮我?

4

1 回答 1

1

有时,MS Access 互操作(以及一般互操作)与 64 位可执行文件不兼容。将您的项目编译类型更改为“x86”为我解决了这个问题。默认值为“任何 CPU”,这意味着您可以在 64 位模式下运行它,这与您的互操作不兼容。

另一种可能是您的 COM 库版本与您安装在 CPU 上的版本不匹配。当同一项目的两个不同开发人员没有相同版本的 Access 时,可能会发生这种情况。这不太可能,但仍有可能。

于 2014-07-30T19:41:26.167 回答