MSVCP100D.dll缺失

5

我实际上在调试时遇到了这个问题,但是在将它发送给其他人时并没有出现这个问题。 - Renari
MSVCP100D.dll 是 Visual Studio 2010 可再发行 DLL 包的调试版本。如果您在没有安装 Visual Studio 2010 的服务器上进行远程调试,那么这就是问题的原因。如果您的情况是这样,我建议您使用包含调试信息并删除优化的 RELEASE 构建来进行远程调试 - 这将为您提供(几乎)与正常 DEBUG 构建相同的所有内容。 - Chad
这只是将其发送给自己的特殊情况。你安装了调试库吗? - Raymond Chen
1
我不是远程调试,我正在本地调试。 - Renari
那不健康。在c:\ windows \ system32中查找文件(对于x64,请查找c:\ windows \ syswow64)。如果缺少,重新运行setup.exe以修复安装是明智的选择。不要太担心文件消失了。 - Hans Passant
5个回答

9
通常情况下,你不需要在系统中安装MSVCP100D.dll。它仅用于调试目的。如果你在发布版本中遇到此错误,你必须确保没有意外地将带有“Debug”标签的项目输出添加到设置项目中。
如果你真的需要在远程机器上调试软件,建议你执行以下步骤:
创建一个名为“CRTDebug100Setup”的新设置项目,并添加以下合并模块(在C:\ Program Files \ Common Files \ Merge Modules下找到):
Microsoft_VC90_DebugCRT_x86.msm policy_9_0_Microsoft_VC90_DebugCRT_x86.msm
构建并部署到要进行调试的计算机上!

2
我不是远程调试,我是本地调试。 - Renari
在 Visual Studio 中,您在哪里可以解决这个问题,以便 Release 模式不依赖于 msvcp100d.dll? - basickarl

4
重新安装Visual Studio解决了这个问题。

1
对我没有帮助。Dll文件在我的笔记本电脑上完全丢失,所以不确定重新安装会有什么帮助。 - Ruchir

2

如果未将生成调试信息设置为,也可能会发生这种情况。

配置属性 -> 链接器 -> 调试 -> 生成调试信息


1
  • 找到 Visual Studio 2010 安装的 iso 文件。

  • 从 ISO 中提取 cab44.cab 文件。

  • 然后使用 7z 从 .cab 文件中提取文件 "F_REDIST_DLL_APPLOCAL_msvcp100d_x86"。

  • 将该文件重命名为 msvcp100d.dll。

对于 x64 版本,cab 文件名为 cab26.cab,文件名为 F_REDIST_DLL_APPLOCAL_msvcp100d_x64。

对于类似的问题,例如缺少另一个 Visual Studio 版本的 msvcr*d.dll。以下是我用来寻找答案的方法:

  1. 找到 Visual Studio ISO。

  2. 提取所有的 .cab 文件。

  3. 7z.exe t *.cab > filelist.txt

  4. gvim filelist.txt

搜索所需的文件名。希望这有所帮助。


我尝试了VS2010专业版试用版ISO。有cab26.cab(我有x64系统),但没有文件F_REDIST_DLL_APPLOCAL_msvcp100d_x64。 - Ruchir

1

跟进l33t在上面的回答(试图修订但似乎没有出现)。

由gpicher于2012年1月10日后添加:我认为那些.msm包是针对所涉及的DLL的9.x版本而不是10.x版本。我通过使用Visual Studio 2010创建了一个安装在64位Windows上的设置项目,在文件夹C:\ Program Files(x86)\ Common Files \ Merge Modules 中使用合并模块 Microsoft_VC100_DebugCRT_x86.msm 解决了我遇到的类似问题。如果显示错误对话框的应用程序是64位应用程序,则有一个类似的x64版本的.msm。在这种情况下,第三方向我提供了其应用程序的调试版本以便开发和测试新插件代码,因此我无法更改构建设置,并且需要调试功能。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接