2009-07-21 62 views
9

在我的項目中如果編譯項目在發佈,它會問我MSVCP90.dll。找不到MSVCP90.dll?

如果是調試,它不...

你見過這樣的情況?

並且你知道爲什麼要這個.dll嗎?或者什麼配置使它成爲所需?

感謝您的任何意見..

+0

你是否嘗試動態鏈接到外部DLL文件 – Bashar 2011-01-12 09:53:52

回答

14

我意識到,我已經安裝了Microsoft Visual C++ 2008可再發行包,所以我剛剛修復,但它沒有解決問題。

然後,我查找配置,並發現「生成清單」在發佈時爲「否」,而在調試時爲「是」。

所以我改變了,並再次嘗試,然後它的工作。

我不知道,這個配置可能像影響,(我不記得當我改變了它)

反正..感謝您的其他答案...

+0

您可以查看MS運行時DLL如何部署在Windows目錄中%WINDIR%/ WinSxS。Windows使用清單來確定要加載哪個特定的運行時DLL。 – 2009-08-11 16:52:26

+1

另一個可能導致相同問題的選項:Manifest Tool | Embed Manifest = No. – 2009-09-10 13:28:19

+0

謝謝我愚蠢地禁用了清單,這爲我解決了它!感謝:) – 2009-10-23 15:27:50

14

我認爲你需要安裝Microsoft Visual C++ 2008再發行組件包 你可以從here得到。

+0

因爲它已經加載,這不是解決方案:( – ufukgun 2009-07-22 06:42:39

3

您是否在文件中搜索了硬盤?您可以在目錄中,如發現:

C:\ Program Files文件\微軟的Visual Studio 9.0 \ VC \ REDIST \ 86 \ Microsoft.VC90.CRT

如果它的存在,它複製到\ WINDOWS \ system32目錄。

同時複製msvcm90.dll和msvcr90.dll。

如果這不起作用,然後 該解決方案是下載並安裝Microsoft Visual C++ 2008可再發行組件包。請點擊此鏈接下載(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

+0

在這裏找到它們:C:\ Program Files \ Intel \ Intel(R)Rapid Storage Technology \ Microsoft .VC90.CRT – 2016-09-09 14:56:22

1

檢查項目設置。如果您沒有爲發佈版本生成清單,則該DLL需要位於System32目錄中。另外,如果您的發行版和調試版本將轉到相同的目錄,則可能會看到調試清單,這會將其指向DLL的調試版本。你最好的選擇是爲所有版本生成一個嵌入式清單。

0

有幾個文件使Visual C++運行時間,你可以有任何與他們相同的問題。您可以查看關於以下任何文件的其他問題。

  • msvcP90.dll
  • msvcP90d.dll(msvcP90的調試版本。DLL)
  • MSVCR90.DLL
  • msvcR90d.dll(MSVCR90.DLL的調試版本)
1

你可能在發佈配置關閉清單嵌入在你的項目。