2017-01-23 189 views
-3

我爲.NET Framework 4.5.2的工作制作了一個C#程序,因爲要求只需要在最新的Windows版本上運行。但是在我的項目結束時,很明顯,程序已經在Win XP等較早的操作系統上運行。因爲我們有一些老式的終端電腦和數控機器與Win XP的工作。使用.NET Framework 4.5.2製作C#程序在Windows XP中工作

所以我想通了,在XP上運行的.net的最新版本或最後一個版本是4.0。我製作了一個我的程序的副本,並試圖在Visual Studio中將其降級到.net 4.0。

不幸的是,當我運行我的程序時,它顯示GUI幾秒鐘,然後在System.Windows.Forms.dll中使用BadImageFormatException崩潰,即使它是一個WPF項目。

我是否有選擇來解決這個問題,或者沒有任何可能解決這個問題而沒有對代碼進行很多修改?我想讓它在瀏覽器上運行。但我不知道這個建築面積有多大。我認爲我盡了最大努力在GUI和程序中的邏輯之間做出了明確的劃分,但我害怕這樣做。

+0

他們是否意識到MSFT甚至不支持XP?......這是一個虛構的要求 –

+5

您是否閱讀過BadImageFormatException?看來你有一個32位的Windows XP,你有一個64位的DLL。 (或類似的東西) –

+0

嗯,我也沒有爲此感到好笑。所以當我看到它會像潘多拉的盒子,我不想成爲打開它的人。是的,這點與安全是非常真實的,但大多數CNC機器是舊的和控制sysstem是不能夠更新的Windows版本。我不詳細地知道它,但我要求它。我看到這會讓我下次感到頭痛。 – Only3lue

回答

4

BadImageFormatException通常意味着要在32位操作系統

運行64位的組件如果您遇到這種情況,切換到目標x86和重新編譯應該產生一個工作程序。

相關問題