扬州城市论坛 百科 Windows 7下找不到msxml.dll的错误的解决方法

Windows 7下找不到msxml.dll的错误的解决方法

安装了Windows7,安装了vs2005。其他项目没有问题,但是在建项目的时候出现。

错误:找不到msxml.dll

在system32目录中查找,我发现这个文件不存在。我是从虚拟机的xp里面抄的,呵呵居然编译了。

Windows 7还不是很成熟。虽然比vista好很多,但是要超越xp还有很多细节需要改进。

Microsoft MSxml用于解析xml文件。在xp下使用时,只要编译# import msxml.dll就可以顺利通过。

将项目移植到Vista时,会遇到找不到msxml.dll的错误。

最初msxml.dll在Vista上升级到msxml6.dll,

把#进口msxml.dll改成#进口msxml6.dll就行了。

相应的using命名空间MSXML可以改为using命名空间MSXML2进行编译。

那么Vista中编译好的可执行文件不能在XP中使用吗?

网上有个办法:

#if (_WIN32_WINNT=0x0600)

#进口msxml6.dll

#否则

#进口msxml.dll

#endif

这种做法没有必要。

以下是一位网友给出的解释:

COM组件的用法、开发环境、运行环境都不一样。开发环境需要使用最新的SDK来支持最新的操作系统,所以应该使用# import msxml6.dll。但是到了运行环境,程序不会直接加载msxml6.dll,而是通过CoCreateInstance加载,传递PROGID或者CLSID,系统会在注册表中找到对应的dll文件。如果在vista运行,系统会帮你加载msxml6.dll,如果在xp运行,系统会帮你加载msxml.dll。但是程序不能使用IXmlDocument6,因为这个版本在XP环境下不被msxml.dll支持。

这个特性是COM最基本的特性:保持二进制兼容,即使组件版本升级了,也可以在新的环境下运行旧版本的程序,因为新版本的组件肯定会保持旧版本的接口。

本文来自网络,不代表本站立场,转载请注明出处:https://baike.yzcslt.com/n/a3264.html

Windows,7下找不到msxml.dll的错误的解决方法

扬州城市论坛后续将为您提供丰富、全面的关于Windows,7下找不到msxml.dll的错误的解决方法内容,让您第一时间了解到关于Windows,7下找不到msxml.dll的错误的解决方法的热门信息。小编将持续从百度新闻、搜狗百科、微博热搜、知乎热门问答以及部分合作站点渠道收集和补充完善信息。