You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Visual Studio 2010中运行exe文件时遇缺失dll错误求助

解决「缺少vcruntime140.dll/ucrtbased.dll」的问题

首先得提一句:手动复制DLL文件虽然能临时解决问题,但不是最优方案——很容易出现版本不匹配、系统位数(32/64位)不对的情况,甚至可能搞乱系统文件。更稳妥的方式是安装对应的Microsoft Visual C++ Redistributable包(对应vcruntime140.dll的是2015-2022版本的运行时库)。不过既然你已经下载了这两个文件,下面给你说具体的放置位置:

按程序位数选择放置路径

首先要搞清楚你的exe是32位(x86)还是64位(x64):

  • 32位程序:
    • 如果是64位Windows系统,把32位版本的DLL放到 C:\Windows\SysWOW64\ 目录
    • 如果是32位Windows系统,放到 C:\Windows\System32\ 目录
    • 最稳妥的做法:直接把DLL放到你的exe文件所在的同一个文件夹里(这样不会影响系统里的其他程序,也不用担心路径权限问题)
  • 64位程序:
    • 把64位版本的DLL放到 C:\Windows\System32\ 目录
    • 同样,放到exe同目录也是安全选项

关于ucrtbased.dll的额外说明

ucrtbased.dll 是Debug版本的C运行时库,这说明你现在运行的是Debug模式编译出来的exe。Debug版本的运行时库本来就不是给最终分发用的,如果你是自己测试还好,但如果要给别人用,建议编译成Release版本——Release版本会使用非Debug的运行时文件(比如ucrt.dll),而且只要对方装了对应的VC++运行时库就能正常运行,不需要手动复制DLL。

另外补充一点:vcruntime140.dll其实是Visual Studio 2015及以后版本的运行时文件,而你用的是VS2010,这说明要么你的项目是用VS2010但切换了更高版本的工具集,要么你运行的exe是用更高版本VS编译的。如果是后者,直接装对应版本的VC++ Redistributable包会比手动复制DLL靠谱得多。

内容的提问来源于stack exchange,提问作者Alberto Succini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:57:03