2011-04-21 258 views
2

我正在開發WPF應用程序。 哪個運行良好,「任何CPU」都是主動解決方案平臺,但是當它更改爲「x86」時,應用程序啓動但不停止而不顯示任何表單或錯誤消息。 應用程序既不會引發任何異常,也不會在事件日誌中記錄任何錯誤。將活動解決方案平臺從任何CPU更改爲x86時,WPF應用程序未啓動

我在.NET 4.0框架和Windows 7 64位操作系統上運行此應用程序。

感謝您的幫助,以解決這個問題。

感謝, maxk

回答

1

首先,這是奇怪的是,你沒有得到任何錯誤消息。即使在沒有調試器的情況下啓動構建的應用程序也不行

最好的答案誰能給基礎上提供的信息,是做一些試驗和錯誤調試:
1)創建一個新的空項目,將其設置爲86,看它是否運行。如果沒有,您的機器設置存在一些嚴重問題,您可能需要重新安裝。
2)在你自己的項目中,如果你有任何外部引用,開始逐個刪除它們,看看你的應用程序是否開始運行。也許被引用的dll在32位模式下造成嚴重破壞。
3)開始評論代碼塊,看看你的應用程序是否開始運行。我發現在Window_Loaded方法中出現錯誤(特別是在調試時)會導致問題 - 例外情況沒有得到處理,應用程序崩潰等。
4)可能是你有一個錯誤的Visual Studio插件(我假設你正在使用VS並且您的開發機器出現問題)。儘量不用調試運行的應用程序...
5)創建虛擬機,並嘗試你的應用程序在那裏,如果它在那裏工作,那麼你的機器莫名其妙地「破壞」 ..

PS!僅供參考,由於您正在運行64位操作系統,因此Any CPU設置會導致您的應用程序爲64位。如果你使用寫得不好的原生dll,強制它成爲32位可能會導致問題(儘管通常是相反的 - 從32位轉換到64位時出現問題)。

相關問題