2012-04-18 55 views
1

當我正在處理COM組件訪問時我收到此錯誤。如何解決由於Microsoft.Office.Interop.Access.ApplicationClass引起的此錯誤?

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的項目。

任何人都可以幫助我嗎?

+2

也許MS Access沒有安裝在產生錯誤的PC上? – Max 2012-04-18 12:36:04

+0

您是否在64位操作系統上從64位應用程序調用Access 2003? – Steve 2012-04-18 12:45:09

+0

我們正在使用Access 2007。 – 2012-04-19 06:31:20

回答

0

有時,MS Access Interop(和通常的互操作)與64位可執行文件不兼容。將項目編譯類型更改爲「x86」爲我解決了這個問題。默認值是「Any CPU」,這意味着你可以在64位模式下運行它,這與你的互操作不兼容。

另一種可能性是您的COM庫版本與您在CPU上安裝的版本不匹配。當同一個項目的兩個不同的開發人員沒有相同版本的Access時,可能會發生這種情況。這是不太可能的,但仍然是一種可能性。