2011-02-01 72 views
3

我一直在遠程處理運行ASP.NET 3.5網站的Windows Server 2003虛擬機的奇怪情況...或者,至少正試圖運行它。託管網站的虛擬機上無法找到指定的模塊錯誤

該網站是使用項目的標準安裝程序安裝的,該項目已用於在多個不同位置安裝。但是,這個行爲有所不同。

網站運行時失敗。在事件查看器,將報告以下錯誤:

異常信息: 異常類型:HttpException 異常消息:指定的模塊找不到。 (從HRESULT異常 :0x8007007E)

報告錯誤的網站上:

異常詳細信息: System.IO.FileNotFoundException:找不到的 指定的模塊找不到。 (從HRESULT異常:0x8007007E)

運行融合日誌查看器,我可以看到,ASP.NET試圖加載以下組件:

CppCodeProvider,版本= 8.0.0.0, 文化=中性, 公鑰= b03f5f7f11d50a3a VJSharpCodeProvider,版本= 2.0.0.0, 文化=中立, 公鑰= b03f5f7f11d50a3a

首先,ASP.NET沒有理由加載這些程序集。我無法在machine.config中找到任何地方,或者根據需要列出這些程序集列表中的任何其他配置。我們嘗試安裝3.5 SDK,但都沒有安裝。我的開發機器上只有版本10的CPPCodeProvider。

這是怎麼回事?

注意:請不要做一個粗略的谷歌搜索和答案。沒有發現我適用。如果有人回答

「定義DEBUG常數」和「定義TRACE常數」

我經歷的intertubes衝你。

回答

4

可怕的紅色鯡魚。

事實證明,我有一個依賴於msvc71.dll依賴。由於我的虛擬機沒有這個DLL,加載依賴失敗。但是,由於代碼中的蹩腳異常消息(坦白地說,這是框架的這一部分),此錯誤顯示爲

指定的模塊找不到。(從HRESULT異常:0x8007007E)

我看到這樣的事情的第一個直覺是旋轉起來fuslogvw。現在,當我開啓融合日誌時,它告訴我找不到CppCodeProviderVJSharpCodeProvider。所以,我認爲這是錯誤的原因。 QED。

他們沒有。事實上,融合無法將它們定位爲絕對不會影響ASP.NET網站的執行。 知道這一點,網絡搜索者!它是一隻紅鯡魚!

我想通了這一點,當我做了我應該從一開始 - 我在服務器上下降Process Monitor完成,設置過濾器來觀看w3wp進程的嘗試加載DLL文件,並等待文件中未找到。

我在我的開發機器上發現了msvc71.dll的副本(Sql Server有它),並將它放在虛擬盒的system32上。我所要做的只是允許網絡服務讀取和執行DLL的權限,一切都再次運行。

+0

請問,我有這個完全相同的錯誤-http://serverfault.com/questions/375464/diagnosing-the-specified-module-could-not-be-found-on-iis7-with-asp-net我收到了很多FILE NOT FOUND的消息,你如何處理進一步診斷問題的原因?有很多信息,包括內核的東西。任何提示將幫助 – Baldy 2012-04-01 09:51:16

相關問題