为什么Visual Studio x86中的WPF应用程序的默认平台目标而不是AnyCPU?

bit*_*onk 7 wpf jit build visual-studio-2010

当我在Visual Studio 2012中创建新的WPF应用程序时,默认情况下平台目标和构建配置设置为x86.为什么会这样?对于普通的WPF应用程序(没有任何对混合模式程序集的引用)使用AnyCPU是否存在任何危险,因此我的WPF可执行文件将被编译为x64机器上的x64代码和x86机器上的x86?

Ree*_*sey 5

为什么会这样?

对于大多数应用程序,构建为32位实际上更好.64位提供了一些好处,并且在大多数情况下存在一些明显的缺点(更高的内存使用率,更复杂的多平台依赖管理,更糟的调试体验等).

但是,如果您的应用程序需要能够使用大量内存,那么当然64位具有优势(并且很容易在VS中切换),但大多数应用程序都不属于这种情况.

这就是VS 2012中的新默认值用于AnyCPUPrefer32Bit代替AnyCPU应用程序的原因.