繁体   English   中英

平台在Visual Studio 2012中同时定位x86和x64

[英]Platform target x86 and x64 at the same time in Visual Studio 2012

我知道如何从这里更改我的C#项目的平台目标: http//msdn.microsoft.com/en-us/library/ms185328.aspx但我的问题是:是否有可能将平台x86和x64作为目标同时在visual studio 2012中,所以我的Debug目录中会有两个文件夹,如下所示:

Bin \\ Debug \\ x86(x86 dlls&exe)

Bin \\ Debug \\ x64(x64 dlls&exe)

所以我总是在项目的每个构建中都有两个平台程序集。

编辑:使用任何CPU:当使用“任何CPU”平台构建我的应用程序并在64位操作系统上运行时,该过程在任务管理器中具有扩展32 *,这意味着它是32位程序集而不是64-位

我尝试使用“任何CPU”构建我的应用程序,当我在x64窗口上运行它时,我发现任务管理器中的进程具有扩展名32 *

您正被解决方案配置名称所困扰。 对于VS2012及更高版本中的托管项目,默认为“AnyCPU”。 这是一个相当准确的名称,由于抖动,.NET项目可以在任何CPU上运行。 但是,这些配置名称仅与本机项目(C和C ++)相关,它们选择用于构建项目的编译器类型。 由于它们直接构建到机器代码,因此需要使用不同的编译器来生成x64代码。

可以选择在运行时使用的抖动类型,现代版本的Windows能够运行32位和64位进程。 但这是一个完全不同的设置,它与配置名称没有任何关系。

右键单击EXE项目,“属性”,“构建”选项卡。 确保平台目标设置为AnyCPU,如果看到,请取消勾选“首选32位”复选框。 这消除了抖动选择强制,您的进程现在将是64位版本的Windows上的64位进程。 由于抖动,仍然可以在32位版本上运行。 对Release版本配置重复此设置更改。

请注意,您必须对此进行测试,涉及到各种细微之处,与文件系统和注册表视图有关,这些视图因位数而异。 必须测试这两种风格是.NET项目默认为32位模式的原因之一。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM