2013-04-11 73 views
2

我有一個VB6項目當我嘗試囤此,它拋出一些錯誤,如將VB6項目轉換爲.net-引用錯誤?

The referenced component 'AxMSCommLib' could not be found. 
The referenced component 'AxOWC' could not be found.  
The referenced component 'ComctlLib' could not be found.  
The referenced component 'Microsoft.Office.Interop.Excel' could not be found. 

,當我刪除這些引用它顯示了這些引用在此行進一步喜歡使用的錯誤

Public WithEvents ProgressBar2 As AxComctlLib.AxProgressBar 

它說

Type 'AxComctlLib.AxProgressBar' is not defined.  

面對這種情況第一次,如何解決這個問題,如何在項目中添加這些引用或是否有任何其他方案?

回答

2

正如Patrik在評論中所說的那樣,這些都是需要註冊才能被開發環境(包括VB6和.Net)使用的所有COM對象。您收到的錯誤消息表示這些文件未在您的計算機上註冊。

您需要安裝COM對象依賴關係。找到每個依賴項的原始安裝包並運行它。提示 - 其中之一是Excel。另一個可能是Microsoft Comm控件(我忘記了確切的名稱)。

有些人可能會建議您嘗試手動註冊OCX & DLL,但運行安裝程序包會更快,因爲OCX/DLL可能需要其他東西才能實際工作。

+0

你是什麼意思通過運行安裝包,我該怎麼做?你能解釋一下嗎? – Mogli 2013-04-11 10:25:28

+3

這些都是在開發環境(VB6和.Net)可以使用它們之前需要註冊的所有COM對象。您收到的錯誤消息表示這些文件未在您的計算機上註冊。您可以搜索文件並使用regsrv32.exe手動註冊它們,也可以重新運行首先安裝這些文件的安裝包,這裏的想法是安裝包將負責註冊二進制文件。 – 2013-04-11 10:34:34

+0

好點@PatrikB。我已經編輯你的評論到我的答案作爲介紹:) – MarkJ 2013-04-11 11:39:25