2011-08-25 37 views
4

(我運行Windows7的使用Visual Studio 2010中)Visual Studio的可再發行與並排側/ DependentAssembly錯誤

我在.NET Azure項目使用的ClamAV,和我運行到每當我運行clamd.exe時,並行錯誤,無論是通過我的代碼還是通過運行clamd.exe。

在Visual Studio 2010中,我得到的錯誤:

Win32Exception was unhandled The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail

而且在事件查看器中,我得到:

Activation context generation failed for "C:\Users\pconerly\code\AntiVirus_source\WorkerRole\clamav\clamd.exe". Dependent Assembly Microsoft.VC80.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.6195" could not be found. Please use sxstrace.exe for detailed diagnosis.

當我搜索 「8.0.50727.6195」 它使我的2005 redist,所以我下載它 http://www.microsoft.com/download/en/details.aspx?id=3387

重新啓動後,我仍然得到並排錯誤。另外,我認爲redist安裝程序沒有完成它的安裝 - 就像它看到visual studio 2010並說「哦,這很好,不需要我安裝」。我還沒有嘗試卸載2010年,並使用2005年,因爲我的開發團隊的其餘人員正在使用VS 2010.

什麼是交易?這怎麼解決?我準備好拔出我的頭髮。

回答

2

Timores是正確的:在REDIST應該this one,這是關係到this KB entry 正如你可以看到有,MSVCR80.DLL已更新版本8.0.50727.6195。 這是2005 C++運行時的「SP1」的「安全更新」。 您的exe可能需要(通過內部清單)該特定版本。

如果它在系統上找不到(有很多搜索的地方),也不在當前文件夾(帶有合適的清單),它不會加載exe,因爲它無法「激活上下文「,即加載清單中所需的特定DLL。

當我的系統更新(Windows更新)並且新編譯的EXE不能與放置在同一文件夾中的舊版本運行時一起工作時,我遇到了類似的問題。 我必須更新msvcr80.dll及其清單(我在\ windows \ winsxs中發現的深層)才能使所有工作都成功。

上下文激活是一個棘手的事,反正:)

HTH

+1

我想這兩條路徑來解決同樣的問題 - 和正確的鏈接[鏈接] http://www.microsoft.com/en-us/download/details .aspx?id = 26347如上。 – Nigel

+0

mmm ..所以也許有不同的更新包,當你安裝完整的VisualStudio(這是我的情況)..謝謝你讓我知道! – Luke

相關問題