2016-03-30 35 views
0

我正在運行一個程序,它現在可以正常生成,沒有錯誤或警告,並且我遇到了mscorlib.dll中的兩個運行時異常。mscorlib.dll TypeInitializationException&BadImageFormatException

我得到TypeInitializationException & BadImageFormatException和消息的細節是:發生

System.TypeInitializationException消息:第一次機會 異常類型 'System.TypeInitializationException' 發生在 mscorlib.dll附加信息: 'Service.Program'的類型初始值設定項引發異常。

而且

System.BadImageFormatException發生消息:類型的第一次機會 異常 'System.BadImageFormatException' 發生在 mscorlib.dll中其他信息:無法加載文件或組件 「ServiceFrameworkAPI,版本= 1.0.0.668,文化=中立, PublicKeyToken = null'或其依賴項之一。試圖使 加載格式不正確的程序。

我已經擺脫了目標處理器沒有成功,我的項目目標是x86目前我認爲是在閱讀了其他堆棧溢出的答案後的方式。我檢查了什麼時候中斷了異常,但是當我看到有關運行時異常的通知時,顯示一個標籤,其中顯示「源不可用」。在程序進入main之前立即拋出異常。

也可能值得注意的是,我的解決方案包含一個Managed C++項目,我認爲這個項目可能與基於其他SO問題的項目有關。我已經閱讀過,但是如果你指出其他答案,我不會感到生氣,.NET對我來說是全新的,所以我可能錯過了一些重要的東西。謝謝你的幫助!

+1

您可能正在更改錯誤的設置,更改解決方案平臺而不是平臺目標。右鍵單擊您的EXE項目>屬性>生成選項卡>平臺目標設置。 –

+0

我實際上一直在改變這個領域,我無法解決這個問題。我也有兩個構建警告(在發佈這個問題之前我已經解決了,但現在他們回來了),這告訴我正在構建項目的處理器與項目引用之間存在不匹配。事情是,警告說該項目是爲「x86」構建的,參考架構是「AMD64」,我確定它是64位體系結構,但無法在VS中指定,因爲x64 doesn解決警告或運行時異常。 – ThePartyTurtle

+1

很明顯,你正在做的事情非常錯誤,但在問題中根本沒有提示。讓一個團隊成員或朋友看看你的肩膀,至少向他展示Build> Configuration Manager對話框。 –

回答

0

爲了清楚起見,如果有誰遇到這個問題,我會回答如何我解決了。

事實證明,我只是使用不是我需要的引用(雖然名稱相同)。我最終在我的解決方案中包含了一些項目,這些項目與參考文件相對應,只是引用項目而不是程序集,一切都很順利。

0

在實際應用中你runnint - 試圖以紀念集會:與選項「ServiceFrameworkAPI」:複製本地=真

enter image description here

+0

剛剛檢查出來,本地複製已設置爲true。 – ThePartyTurtle