Windows 64位环境加载msvcr120.dll报错(错误码193)求助
问题分析与解决建议
核心排查方向
- 复制的DLL版本不匹配:直接从其他电脑拷贝的
msvcr120.dll大概率和当前系统的VC运行时环境不兼容,哪怕都是64位系统,VC运行时的补丁版本差异、32/64位错配都会出问题。而且手动复制单个DLL补不齐依赖链,官方运行时还关联了其他配套文件和注册表项,单独拷贝没用。 - 项目平台目标设置错误:
- 右键项目→属性→生成→平台目标
- 确认是否设为
x64或Any CPU(如果选Any CPU还勾了首选32位,会强制以32位模式运行,加载64位DLL必然失败,反过来也一样)
- 系统缺VC++ 2013运行时库:
msvcr120.dll属于Visual C++ 2013 Redistributable Package,另一台电脑肯定装了对应64位版本,你的电脑要么只装了32位,要么完全没装。 - 权限或安全拦截:加载DLL时可能因为程序目录没读写权限,或者DLL被杀毒软件标记为不安全导致加载失败。
- DLL文件损坏:复制过程中文件丢包、损坏,或者原电脑的DLL本身就有问题。
具体解决步骤
- 重装VC++ 2013 64位运行时库:
- 控制面板→程序和功能,卸载所有Microsoft Visual C++ 2013 Redistributable条目
- 下载官方64位VC++ 2013运行时安装包(注意选对应SP版本,比如Update 5),安装后重启电脑再跑项目
- 修正项目平台设置:
- 打开项目属性,把平台目标改成
x64,如果是Any CPU模式就取消首选32位的勾选 - 清理项目后重新生成解决方案
- 打开项目属性,把平台目标改成
- 检查DLL放置路径:
- 要是非得手动放DLL,64位的
msvcr120.dll要放在项目输出目录的x64子文件夹,或者系统的C:\Windows\System32目录(64位DLL对应System32,32位对应SysWOW64)
- 要是非得手动放DLL,64位的
- 验证文件完整性:
- 重新从另一台电脑拷贝DLL,或者从官方运行时安装包里提取对应版本,避免文件损坏
- 排查权限与安全干扰:
- 右键Visual Studio选
以管理员身份运行,再启动项目 - 暂时关掉杀毒软件或防火墙,测试能不能正常加载DLL
- 右键Visual Studio选
内容的提问来源于stack exchange,提问作者chanak
相关产品推荐
相关产品推荐

