还有个情况是版本问题2.1和2.0的区别。在VB6项目中遇到添加引用时弹出“名称与已存在的模块冲突”的问题可以采取以下几种方法来解决1. 直接编辑VBP文件找到项目文件.vbp右键单击vb项目并使用记事本打开而不是使用VB6。项目文件将包含所有引用、库和有关表单和模块的信息。删除冲突的模块或组件文件所在的行保存并关闭文件。然后重新打开项目并尝试添加组件。2. 使用RegSvr32注销和注册OCX使用RegSvr32工具来注销和重新注册OCX文件。例如对于Sheridan 3D控件/THREED32.OCX可以使用以下命令注销REGSVR32 C:\WINDOWS\system32\THREED32.OCX /u然后将OCX复制到项目文件夹中并再次使用以下方法注册REGSVR32 C:\Dev\Project\THREED32.OCX在项目中通过浏览从项目文件夹引用OCX而不是从系统目录引用。3. 检查并解决引用冲突有时两个库之间存在冲突例如Microsoft DAO 3.6 Object Library和Microsoft Office 14.0 Access database。解决方法是取消其中一个库的勾选然后重新勾选另一个库。4. 从VBP文件中删除相关引用项如果VBP文件中引用的部件或动态库失效直接重新引用又会冲突解决方法是将vbp文件中的相关引用项删除然后重新引用。找到无法加载的控件的引用项所在行例如Reference*\G{32C78689-EA9A-4D34-9D75-25FAF96F2256}#2.0#0#..\\..\\..\\..\\..\WINDOWS\system32\MSCOMCTL.oca#Microsoft Windows Common Controls 6.0 (SP6)以及相应的控件文件名所在行Object{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0;mscomctl.ocx将这两行删除后重新引用就可以了。通过上述方法你应该能够解决VB6项目中添加引用时出现的名称冲突问题。