无法在Windows 7 64位上运行32位编译的WPF应用程序

问题描述:

我在VS2008中创建了一个WPF项目,并使用Any CPU,x64和x86编译它。任何CPU和x64都可以工作,但编译到x86时,应用程序在运行VS2008时会挂起,并在没有调试的情况下运行时崩溃。使用WinDbg进行调试我可以看到*Exception,有时还会看到与WPF方法有关的MissingMethodException。无法在Windows 7 64位上运行32位编译的WPF应用程序

常识告诉我们CLR在运行32位WPF应用程序时没有加载正确的程序集或其他东西。我尝试重新安装.NET Framework 3.5 SP1,但它不能解决问题。我不知道如何去检查是否加载或使用了正确的程序集。

任何想法?

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

尝试强制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. 属性
  2. 构建
  3. 目标平台

我想我就遇到了这个问题也。如果我没有记错的话,我遇到了一个问题,那就是为x86编译了一个依赖关系,并且主应用程序是为x64编译的,反之亦然。即说我有一个图书馆和一个主要功能的应用程序。我认为他们都需要以相同的方式进行编译。即我认为你不能混合搭配。这可能不是完全相同的问题。我会通过解决方案中的所有项目,确保它们都具有相同的设置。