如何解决由于Microsoft.Office.Interop.Access.ApplicationClass引起的此错误?

时间:2012-04-18 12:15:45

标签: vb.net vb6-migration

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

Unable to cast COM object of type 'Microsoft.Office.Interop.Access.ApplicationClass' to interface type 'Microsoft.Office.Interop.Access._Application'. 

This operation failed because the QueryInterface call on the COM component for the interface with IID '{68CCE6C0-6129-101B-AF4E-00AA003F0F07}' failed due to the following error: Error loading type library/DLL. (Exception from HRESULT: 0x80029C4A (TYPE_E_CANTLOADLIBRARY)).

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

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

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

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