【问题标题】:How to solve this error caused due to the Microsoft.Office.Interop.Access.ApplicationClass?如何解决由于 Microsoft.Office.Interop.Access.ApplicationClass 引起的这个错误?
【发布时间】:2012-04-18 12:15:44
【问题描述】:

当我处理 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 的项目。

谁能帮帮我?

【问题讨论】:

  • 可能是产生错误的PC上没有安装MS Access?
  • 您是从 64 位操作系统上的 64 位应用程序调用 Access 2003 吗?
  • 我们使用的是 Access 2007。

标签: vb.net vb6-migration


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2020-09-05
    • 2011-12-16
    • 2017-01-14
    • 2021-10-26
    • 2019-09-12
    • 2019-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多