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,解决方法
相关阅读
- 06-11如何重装windows7系统?重装windows7系统步骤(不需要光盘和U盘安装)
- 06-03联想电脑预装Windows8系统改装Windows7系统操作方法
- 09-18摄像头被占用Windows7/8解决方法 摄像头被其他程序占用怎么办
- 04-05Windows7中IIS的安装与配置(详细图解)
- 04-04Windows7下光驱打不开怎么办?
- 02-03六招完全解决Windows7系统补丁问题
- 02-03Windows7下安装sql server 2008 express出错的解决方案
- 03-17Windows7 SP1 专业零售/VOL中文版下载/简体中文旗舰版(MSDN官方原版)附激活说明
- 02-18windows7声卡驱动不能安装的自动、手动解决方案
- 02-17windows7运行在哪? 3种方法轻松找到windows7运行窗口
阅读本文后您有什么感想? 已有 人给出评价!
用户评论
热门评论
最新评论
相关软件
热点图文
- 04-23USB接线图 (USB你了解多少了~)
- 03-04电脑右下角图标不见了,如何恢复?
- 08-15佳能打印机错误代码与黄灯闪烁故障说明与解决方案
- 11-22.NET Framework 4 0x80070643错误解决
- 06-19提示Decompression error,Abort?的解决方法
- 08-14提示“unknown device”是什么问题?该怎么解决?
- 03-07笔记本连液晶电视只有桌面没图标的解决
- 10-16CHKDSK is verifying indexes解决方法
- 04-04Win8系统.NET Framework升级遇到错误0x800F0906的解决办法
- 02-21CF提示“错误:找不到BugTrap.dll”的解决方法