我在VS2008中创建了一个WPF项目,并使用Any CPU,x64和x86进行编译。任何CPU和x64都可以工作,但是编译到x86时,应用程序在运行VS2008时挂起,并在运行时没有调试时崩溃。使用WinDbg进行调试我可以看到StackOverflowException,有时还会看到与WPF方法相关的MissingMethodException。
常识告诉我们,在运行32位WPF应用程序时,CLR没有加载正确的程序集。我尝试重新安装.NET Framework 3.5 SP1,但它无法解决问题。我不知道如何检查是否加载或使用了正确的组件。
有什么想法吗?
更新:不是真正的解决方案,但我能做的最好的事情就是重新安装Windows 7
答案 0 :(得分:1)
尝试在解决方案的所有项目中强制使用正确的编译器:
答案 1 :(得分:0)
尝试强制Windows始终使用32位CLR并查看它是否仍然崩溃:
C:\ WINDOWS \ Microsoft.NET \ Framework64 \ v2.0.50727 \ Ldr64.exe setwow
-Oisin
答案 2 :(得分:0)
我想我也遇到了这个问题。如果我没记错的话,我遇到了一个问题,即为x86编译了依赖项,主应用程序是为x64编译的,或者反过来。即说我有一个图书馆和一个主要功能的应用程序。我认为他们都需要以相同的方式编译。即我认为你不能混搭。这可能不是完全相同的问题。我会仔细检查解决方案中的所有项目,确保它们都具有相同的设置。