2014-12-30 28 views
2

我有一個項目需要刷新一下,但它不再像以前那樣工作。mscorlib.dll中發生'System.BadImageFormatException'

它支持多種語言(英語,法語等),但是我現在收到以下錯誤: 運行時mscorlib.dll發生'System.BadImageFormatException',當它試圖更改語言文化。

發生這種情況時,它和它的語言res文件/ .dlls使用點網絡框架版本3.5。

這不會發生,如果我改變語言res文件/ .dlls將建立與4.5點淨框架。

該語言是res文件構建爲x86,我已經嘗試了x86和anycpu的項目 - 在各種組合,但同樣,它只能在運行時使用dot net framework 4.5。

錯誤被拋出,此代碼:

System.Threading.Thread.CurrentThread.CurrentUICulture = New System.Globalization.CultureInfo(My.Settings.Language) 

我想用點淨框架3.5更好的操作系統的向後兼容性。

任何想法?

在此先感謝。

+0

多遠回你得去? NET 4.0運行在XP – Plutonix

+0

我相信,你搞砸了你的項目配置。使用'corflags.exe'來檢查你所有的DLL構建體系結構。 –

+0

我以前從未使用過corflags,但感謝,我做了一些閱讀,測試,但遺憾的是一切都被構建爲預期... – Rob

回答

2

如果使用錯誤的x86或x64版本,通常會引發BadImageFormatException。如果你切換到x86,你是否爲所有的依賴源完成了這項工作?或者只是爲了啓動項目而做到這一點?

+0

是的,這是我第一次懷疑過,我嘗試切換(例如)兩個程序本身,而產生的RES/.DLL文件到86,但沒有解決問題的點網3.5。 – Rob

相關問題