2012-11-16 35 views
2

什麼具體導致異常與消息「壞IL範圍」?「壞IL範圍」例外是什麼意思?

我收到了一封來自我的客戶的錯誤報告,但我看不到這個異常類型。在這個文本上搜索會產生非常不同的結果,並且我懷疑這是.NET/C#中相當低的級別,這可能發生在許多不同的情況下。在這種情況下,我認爲IL是「中級語言」。

那麼究竟是什麼導致了這個異常,它發生的共同基本原因是什麼?

回答

6

異常類型爲BadImageFormatException,它在程序集損壞時引發(完整的異常消息應解釋哪個程序集)。發生這種情況的原因可能有很多種:病毒,硬件故障,軟件錯誤或用戶採取的錯誤操作。異常消息和Fusion日誌屬性將包含有關它表示的錯誤類型的更多信息。

如果問題依然存在,可能需要重新安裝應用程序或.NET Framework,如果確實發生了一次,那麼他應該檢查病毒或執行嚴重的硬件測試。

+1

嘗試在x86中運行x64程序集時也會引發BadImageFormatException,反之亦然。 – jgauffin

+1

@jgauffin的權利,這個例外是由於許多原因引發的,但它不應該報告「壞IL範圍」。 –

+0

呃,那我不明白你的答案嗎? – jgauffin

4

運行時驗證加載的程序集,特別是檢查提供的CIL的有效性 - 它檢測CIL結構和CIL流中的各種不同問題。

儘管我自己從來沒有見過這個特定的問題,但我想最常見的原因是應用程序或.NET程序集中的一個的物理損壞。

我會嘗試重新安裝您的應用程序(和/或.NET運行時)。

0

我的問題是一個狡猾的工作目錄。所以在這個地方有一個壞的DLL,也許是一個nuget的參考。更新我所有的nuget軟件包都不起作用,解決方案重建不起作用,電腦重啓不起作用。

從我的源代碼管理(svn)執行新的檢出操作,解決了這個問題。

我在Win10上,所以這裏可能會有更深層次的東西,但幾天以後我還沒有任何進一步的問題。

相關問題