修复“您的计算机中缺少”MSVCP110D.dll“问题 [英] Fixing the "MSVCP110D.dll is missing from your computer" issue
问题描述
< blockquote>
程序无法启动,因为
计算机中缺少MSVCP100D.dll。尝试重新安装该程序来解决这个问题。
现在我找到了一些可能的解决方案,但没有一个可以为我工作: / p>
- 使用/ MTd编译而不是/ MDd :实际上这解决了问题,但是我不允许:我的程序是更大的程序的一部分,并且/ MD [d]是强制性的。
- 安装 :由于我安装了VS 2012,所以这不行,所以这个安装程序告诉我:较新的版本的Microsoft Visual C ++ 2010可再发行组件已被检测到。
- 查找,拖放版本的MSVCP100D.dll到正确的目录:我是不要将未知的DLL下载到可能会干扰其他事物的地方。
- 最后的手段:重新安装VS2010 / VS2012 :可能,但是因为它这也意味着重新安装大量其他需要的软件包和插件,如果不是绝对必要,我想避免这种情况。
是还有其他任何选择?
Visual Studio REDIST软件包从不部署CRT文件的DEBUG版本。这是设计。
使用VS 2012或更高版本,部署CRT的DEUBG版本的最简单方法是安装远程调试工具软件包。
对于VS 2012,最新的远程调试工具包是这里
对于VS 2013,最新的远程调试工具包是这里。
另一个选择是使用DLL的应用程序本地部署(即将其复制到你的应用程序目录)。再次,仅用于测试目的。对于实际部署应用程序,您需要使用非调试版本的CRT。
但是,如果您的开发机器发生此错误,那么您还有其他问题,因为在安装VS 2012的时候,你应该在该机器上安装VS 2012 DEBUG CRT。
更新:: 对不起,我会预期将调试CRT DLL与远程调试器位和Direct3D 11 Debug Device一起包含在远程调试工具包中。唉,不是请参阅准备运行调试可执行文件的测试机器。您必须在\Common Files\Merge Modules 中的 Program Files(x86)目录中使用MSM,或者从$ $ c复制DLL并排$ c> Program Files(x86)目录在\Microsoft Visual Studio< version> \VC\redist\Debug_NonRedist\
中。 VS团队可能认为您已经这样做了,但我建议他们将其卷入远程工具包。
I am facing the following (fairly common) problem: I am running my program in Debug mode in VS2010 and/or VS2012, but at startup it crashes, saying:
The programme can't start because MSVCP100D.dll is missing from your computer. Try reinstalling the program to fix this problem.
Now I found a number of possible solutions, but none of them work for me:
- Compile with /MTd instead of /MDd: actually this does solve the problem, but I am not allowed to: my program is part of a bigger program, and /MD[d] is mandatory.
- Install the VS 2010 Redistributable package: This doesn't work because I have VS 2012 installed, so this installer tells me: "A newer version of Microsoft Visual C++ 2010 Redistributable has been detected on the machine."
- Finding, dragging and dropping a version of MSVCP100D.dll into the correct directory: I am not dropping unknown DLLs into places where they might interfere with other things.
- Last resort: reinstalling VS2010/VS2012: possible, but as it would also mean reinstalling lots of other packages and plugins I need, I'd like to avoid this if it's not absolutely necessary.
Are there any other options left?
The Visual Studio REDIST packages never deploy the DEBUG versions of the CRT files. This is by design.
With VS 2012 or later, the easiest way to deploy the DEUBG versions of the CRT is to install the "Remote Debugging Tools" package on your test machines.
For VS 2012, the latest Remote Debugging Tools package is here
For VS 2013, the latest Remote Debugging Tools package is here.
Another option is to just use application local deployment of the DLL (i.e. copy it into your app directory). Again this is only for testing purposes. For actual deployment of your application, you are required to use the non-debug versions of the CRT.
If this error is happening on your development machine, however, then you have other problems because with VS 2012 installed, you should have the VS 2012 DEBUG CRT on that machine.
UPDATE:: Sorry, I would have expected the debug CRT DLLs to be included in the remote debugging tools package along with the remote debugger bits and the Direct3D 11 Debug Device. Alas, it's not. See Preparing a Test Machine To Run a Debug Executable. You have to either use the MSMs in Program Files (x86) directory in \Common Files\Merge Modules
or copy the DLL-side-by-side from Program Files (x86) directory in \Microsoft Visual Studio <version>\VC\redist\Debug_NonRedist\
. The VS Team probably assumed you would have already been doing that, but I'll suggest to them to roll it into the remote tools package.
这篇关于修复“您的计算机中缺少”MSVCP110D.dll“问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!