绿色资源网

电脑版
提示:原网页已由神马搜索转码, 内容由www.downcc.com提供.
您的位置:首页电脑医院系统故障→ Windows 7下找不到msxml.dll的错误的解决方法

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

我要评论2014/03/06 11:11:30 来源:绿色资源网编辑:www.downcc.com 评论:0点击:1573次

装了windows7,并安装了vs2005,其他工程没有问题,但是构建某个工程时却出现了

error: can't find msxml.dll

在system32目录下一找才发现原来确实没有这个文件,从虚拟机的xp里拷了个过来,嘿嘿竟然编过了。

windows 7 还不是十分成熟,虽然比vista好用了不少,但要超过xp,还有很多细节需要完善。

解析XML文件使用到了微软的msxml ,在xp下使用的时候,只要#import< msxml.dll>编译就可以顺利通过,

当把工程移植到Vista上的时候就会遇到找不到msxml.dll的错误。

原来在Vista上msxml.dll升级为msxml6.dll

只要把#import< msxml.dll>改成#import< msxml6.dll>

相应using namespace MSXML改成using namespace MSXML2编译即可通过

那么Vista下编译后的可执行文件是不是不可以在XP下使用呢?

网上的有种方法是:
#if (_WIN32_WINNT >= 0x0600)
#import< msxml6.dll>
#else
#import< 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最基本的特征:保持二进制兼容,即使组件版本升级,也能在新环境下运行旧版的程序,因为新版组件一定会保留旧版组件的接口。

关键词:Windows7,msxml.dll,解决方法

相关阅读

阅读本文后您有什么感想? 已有 人给出评价!

  • 6

  • 22066

  • 6

  • 6

  • 52

  • 6

用户评论

热门评论

最新评论

发表评论查看所有评论(0)

昵称:
请不要评论无意义或脏话,我们所有评论会有人工审核.
字数: 0/500(您的评论需要经过审核才能显示)

相关软件

热点图文

更多+

精品软件