2010-06-30 132 views
0

試圖設置我的筆記本電腦來編輯並運行我的C#應用​​程序,它調用C++ dll。編譯是好的,但是當我運行它時,發生了TypeInitializationException was unhandled錯誤。Visual Studio 2008的TypeInitializationException

它說:The type initializer for '<Module>' threw an exception.

我也安裝了Visual Studio 2008 SP1。

我的臺式電腦沒有任何問題。相同的操作系統,Windows XP。

有什麼想法嗎?

回答

1

在調試器下運行該應用程序,並看看InnerException屬性 - 它應該告訴你什麼失敗。

或者,設置調試器以打破每個異常,而不是隻打破未處理的異常的默認行爲。它應該帶你到失敗的代碼行。

如果這沒有幫助,並且您自己構建了C++ DLL,請通過C#項目的屬性打開非託管調試。這將允許您進入C++代碼並追蹤原始錯誤。

+0

InnerException說:C++模塊加載失敗。無法加載DLL MSVCR80.dll。如何解決它? – 5YrsLaterDBA 2010-06-30 19:31:12

+0

聽起來像你需要部署MSVCR80.DLL。這將已經安裝在你的開發機器上,但它不會安裝在沒有安裝VS2008的機器上。閱讀這篇文章:http://support.microsoft.com/kb/326922 – 2010-06-30 19:40:56

0

以我的經驗,這意味着你缺少一個庫引用程序集或Dll,或者你的一個對象的構造函數拋出異常。