2

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

4

3 回答 3

4

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

话虽如此,但您应该记住,如果您使用驱动程序或其他未以相同模式编译的库,您会在部署中发现问题。您将需要这两个库 (64/32),并且需要为目标机器安装/部署正确的库。(想到最初与ACE/Jet OleDB供应商的混乱)

于 2012-09-08T13:43:17.697 回答
1

您不需要这样做,除非您在某处使用本机代码。一切都编译为CIL/MSIL,它与架构/平台无关。

如上面和最近的评论中所述,使用“任何 CPU”选项。

于 2012-09-08T13:41:46.223 回答
0

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

有关更多信息,您应该阅读有关平台定位的这篇(或类似)文章

于 2012-09-08T13:43:01.777 回答