2009-10-31 254 views
2

我在VS2008中創建了一個WPF項目,並使用Any CPU,x64和x86編譯它。任何CPU和x64都可以工作,但編譯到x86時,應用程序在運行VS2008時會掛起,並在沒有調試的情況下運行時崩潰。使用WinDbg進行調試我可以看到StackOverflowException,有時還會看到與WPF方法有關的MissingMethodException。無法在Windows 7 64位上運行32位編譯的WPF應用程序

常識告訴我們CLR在運行32位WPF應用程序時沒有加載正確的程序集或其他東西。我嘗試重新安裝.NET Framework 3.5 SP1,但它不能解決問題。我不知道如何去檢查是否加載或使用了正確的程序集。

任何想法?

UPDATE:不是一個真正的解決方案,但我能做的最好的很快是重新安裝Windows 7

回答

0

嘗試強制Windows中始終使用32位CLR,看看它是否仍然崩潰:

C: \ WINDOWS \ Microsoft.NET \ Framework64 \ V2.0.50727 \ Ldr64.exe setwow

-Oisin

+0

仍然是相同的錯誤,我現在可以看到它無所謂任何CPU或64位設置,它將始終加載32.所以,一些錯誤的32位的東西? – adriaanp 2009-11-01 06:51:01

1

試圖迫使你的解決方案的所有項目正確的編譯器:

  1. 屬性
  2. 構建
  3. 目標平臺
0

我想我就遇到了這個問題也。如果我沒有記錯的話,我遇到了一個問題,那就是爲x86編譯了一個依賴關係,並且主應用程序是爲x64編譯的,反之亦然。即說我有一個圖書館和一個主要功能的應用程序。我認爲他們都需要以相同的方式進行編譯。即我認爲你不能混合搭配。這可能不是完全相同的問題。我會通過解決方案中的所有項目,確保它們都具有相同的設置。

相關問題