为什么VB6在我的Windows 8.1项目中用msxml6.dll替换msxml3.dll?

为什么VB6在我的Windows 8.1项目中用msxml6.dll替换msxml3.dll?,vb6,Vb6,我有一个遗留的VB6项目,我一直在WindowsXPVM中使用它。我决定继续在我的Windows8.1机器上安装VB6 我打开了这个项目,但它没有编译。它抱怨找不到DOMDocument。我查看了引用,发现它没有选择Microsoft XML,v3.0,而是选择了Microsoft XML,v6.0。在该库中,它有一个DOMDocument60对象,但没有DOMDocument对象 我尝试引用v3.0和v6.0,但它阻止了我这样做,声称名称冲突 所以我的问题 为什么它引用不同的库 如何确保项目始

我有一个遗留的VB6项目,我一直在WindowsXPVM中使用它。我决定继续在我的Windows8.1机器上安装VB6

我打开了这个项目,但它没有编译。它抱怨找不到
DOMDocument
。我查看了引用,发现它没有选择Microsoft XML,v3.0,而是选择了Microsoft XML,v6.0。在该库中,它有一个
DOMDocument60
对象,但没有
DOMDocument
对象

我尝试引用v3.0和v6.0,但它阻止了我这样做,声称名称冲突

所以我的问题

  • 为什么它引用不同的库
  • 如何确保项目始终引用v3.0而不考虑操作系统

  • 请参阅MSXML 3.0仍然存在,即使在Windows 10中也能正常工作。您是否尝试将引用更改回正确的DLL?我不知道是什么自动将其更改为6.0,我自己也没有看到这种情况发生。是的,如果我手动更改,它会工作。。。但我不知道为什么它会自动改变。在我的VB6项目中,我在Windows7上引用了MSXML6.0。msxml6.dll还包括msxml3.0。但在Windows10上,MSXML6.dll不再包含MSXML3.0。在我的代码中,我使用了MSXML3.0类型和MSXML6.0类型。我两者都需要。我应该为这个问题创建一个新问题吗?