在VS2010中为x86和x64处理器编译C#项目

时间:2012-09-08 13:39:18

标签: c# visual-studio-2010 compilation x86 64-bit

我有一个在Visual Studio 2010中由C#语言编写的Windows窗体项目。我必须为x86和x64处理器运行我的exe。每次我更改配置以编译两种处理器类型。对x86和x64处理器类型一次编译源代码有什么变化吗?

3 个答案:

答案 0 :(得分:4)

您应该选择AnyCPU配置,如果您的操作系统是32位,您的应用程序将以32位运行,如果操作系统是64位,则应用程序将以64位运行。您应该感谢JIT编译器将您的MSIL代码转换为托管环境所需的适当位数。

然而,您应该记住,如果您使用未在相同模式下编译的驱动程序或其他库,您将在部署中发现问题。您将需要两个库(64/32),并且需要为目标计算机安装/部署正确的库。 (想一想ACE/Jet OleDB提供商的最初混乱)

答案 1 :(得分:1)

除非您在某处使用本机代码,否则不需要这样做。一切都归结为CIL/MSIL,这是架构/平台无关的。

如上述和最近的评论所述,请使用“Any CPU”选项。

答案 2 :(得分:0)

您可以使用AnyCPU配置。但是,x86和x64程序集都应该适用于两种类型的处理器,除非您调用本机代码库(例如C,C ++,Delphi)。 这意味着,您可以在x86 CPU和操作系统上使用x64 .NET程序集。

有关详细信息,请阅读this (or similar) article about platform targeting