2013-04-11 85 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