2012-04-26 91 views
4

.NET EXE應用程序在啓動時崩潰。erxkab1r2c2ibqtnnxtpzrumqv3gqlpl是什麼程序集?

的事件被記錄到事件日誌:

的EventType clr20r3,P1 erxkab1r2c2ibqtnnxtpzrumqv3gqlpl,P2 1.0.2.0,P3 4f4b95e0,P4 mscorlib程序,P5 2.0.0.0,P6 4a7ce2b8,P7 F8B,P8 80, P9 system.io.filenotfoundexception,P10 NIL。

破譯參數(StackoverflowMSDN)產生:

  • 埃克文件名erxkab1r2c2ibqtnnxtpzrumqv3gqlpl
  • 埃克版本1.0.2.0
  • EXE文件時間戳4f4b95e0
  • 大會名稱mscorlib
  • 斷裂作用組件版本2.0.0.0
  • 斷裂作用組件時間戳4a7ce2b8
  • 斷裂作用組裝方法定義f8b
  • 斷裂作用方法偏移80
  • 異常類型system.io.filenotfoundexception
  • ???NIL

現在我只需要弄清楚大會erxkab1r2c2ibqtnnxtpzrumqv3gqlpl是什麼。

我以爲這是一個衆所周知的組裝公共令牌 - 除了我不知道它是什麼。


我試圖運行下面的

C:\WINNT>dir *erxkab* /s 
Volume in drive C has no label. 
Volume Serial Number is E0E5-1C1A 
File Not Found 

希望是在WinSxS文件夾作爲並排側公共令牌文件名的地方。

注意:請記住這是一個客戶端應用程序(即.exe),而不是一個ASP.net網站。

+4

這可能是一個臨時生成的一個,雖然我已經預料到已根據臨時或ASP.NET臨時生成的文件在Windows目錄中。嘗試使用您正在運行代碼/應用程序池的用戶的臨時文件。 – Rup 2012-04-26 14:04:37

+1

也許暫時或其他臨時組件有這樣奇怪的名字。 – CodesInChaos 2012-04-26 14:04:47

+1

我已經看到這些名稱與XML序列化。正則表達式也編譯成一個奇怪的名字IIRC。 – leppie 2012-04-26 14:06:45

回答

0

它是託管過程本身。這意味着它是(很可能是*)您正在啓動的可執行文件。你真的開始了哪個應用程序?

*它也可能是一個可執行文件,它在主應用程序的新應用程序域中啓動。

+0

我開始使用'devenv.exe'(Visual Studio 2010) – 2012-05-24 14:51:20

0

一般文件未找到clr20r3只是意味着它試圖加載參考無法找到。

對我來說,這與完全無關,名爲可執行文件。相反,它被證明是一個沒有被複制到目標環境的引用項目中的缺失庫。我通過以下方式解決了這個問題。

  • 驗證目標機器上的所有版本相同的.NET作爲我的構建機器
  • 將所有非系統*庫CopyLocal:真。
  • 檢查所有的相關項目,以及圖書館。

你可以有更多的麻煩,如果它是一個第三方庫導致此。如果是這種情況,我建議逐個刪除引用,直到找到違規的庫。不幸的是,如果沒有檢測到依賴項,則不會告訴您直接丟失的文件。但是,如果您確定負責的庫,那麼您可能能夠確定依賴關係。