将VB6项目转换为.NET时出现引用错误?

3

我有一个VB6项目,当我尝试运行它时,它会抛出一些错误,比如:

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.    

面对这种情况,第一次该如何解决?如何在项目中添加这些引用,或者是否有其他解决方案?
1个回答

2
正如Patrik在评论中所说,这些都是COM对象,需要在开发环境(包括VB6和.Net)中注册后才能使用。您收到的错误消息表明这些文件在您的计算机上没有注册。
您需要安装COM对象依赖项。找到每个依赖项的原始安装包并运行它。提示 - 其中一个是Excel。另一个可能是Microsoft Comm控件(我忘了确切的名称)。
有些人可能建议您尝试手动注册OCX和DLL,但运行安装程序更快,因为OCX / DLL可能需要其他东西才能实际工作。

运行安装包是什么意思?我该怎么做?你能稍微解释一下吗? - Mogli
3
这些都是需要在开发环境(包括VB6和.Net)中注册才能使用的COM对象。你收到的错误信息表明这些文件尚未在计算机上注册。你可以手动搜索这些文件并使用regsvr32.exe进行注册,或者只需重新运行安装程序包以最初安装文件的方式,这里的想法是安装程序包会负责注册二进制文件。 - Patrik B
很好的观点@PatrikB。我已经将您的评论编辑成我的答案作为介绍 :) - MarkJ
您IP地址为143.198.54.68,由于运营成本限制,当前对于免费用户的使用频率限制为每个IP每72小时10次对话,如需解除限制,请点击左下角设置图标按钮(手机用户先点击左上角菜单按钮)。 - paulofer85

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接