9

在我的项目中,如果在发布时编译项目,它会询问我 MSVCP90.dll。

如果是调试,它不会...

你遇到过这样的情况吗?

你知道为什么需要这个 .dll 吗?或者什么配置使它成为理想?

谢谢你的建议。。

4

6 回答 6

14

我认为您需要安装 Microsoft Visual C++ 2008 Redistributable Package,您可以从这里获得。

于 2009-07-21T11:45:58.763 回答
14

我意识到我已经安装了 Microsoft Visual C++ 2008 Redistributable Package,所以我只是修复了它,但它并没有解决问题。

然后我查找了配置,发现“生成清单”在“发布”中为“否”,而在“调试”中为“是”。

所以我改变并再次尝试然后它起作用了。

我不知道这个配置可能会产生这样的影响,(我不记得我什么时候改变的)

无论如何..感谢您的其他答案...

于 2009-07-21T12:01:22.570 回答
3

您是否在硬盘上搜索过该文件?您可以在以下目录中找到它:

C:\Program Files\Microsoft Visual Studio 9.0\VC\redist\x86\Microsoft.VC90.CRT

如果它在那里,请将其复制到您的 \windows\system32 目录。

同时复制 msvcm90.dll 和 msvcr90.dll。

如果这不起作用,则解决方案是下载并安装 Microsoft Visual C++ 2008 Redistributable Package。按照此链接下载(cca 1.8 MB):

http://www.microsoft.com/downloads/thankyou.aspx?familyId=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displayLang=en

在此处查看解决此问题的多种方法:

http://pcsupport.about.com/od/findbyerrormessage/a/msvcp90-dll-not-found-missing-error.htm

于 2009-07-21T11:49:25.387 回答
1

检查您的项目设置。如果您不为 Release 构建生成清单,则 DLL 需要位于 System32 目录中。

此外,如果您的 Release 和 Debug 构建将进入同一目录,它可能会看到 Debug 清单,这会将其指向 DLL 的调试版本。您最好的选择是为所有构建生成嵌入式清单。

于 2009-07-21T12:28:25.097 回答
1

您可能在发布配置中关闭了项目中的清单嵌入。

于 2009-07-21T18:49:00.210 回答
0

有几个文件使 Visual C++ 运行时,您可能会遇到任何相同的问题。您可以查看有关以下任何文件的其他问题。

  • msvcP90.dll
  • msvcP90d.dll(msvcP90.dll的调试版)
  • msvcR90.dll
  • msvcR90d.dll(msvcR90.dll 的调试版本)
于 2009-07-21T13:06:32.220 回答