用vs编译C#项目的设置中,“属性-生成-目标平台”有anycpu,x86,x64等选项。
-
anycpu(默认值)将编译程序集为使其在任意平台上都可以运行。 在任何可能的时候,应用程序作为 64 位进程运行;仅当该模式只可用时,才会回退到 32 位。
-
x86将程序集编译为由与 x86 兼容的 32 位公共语言运行时运行。
-
x64 将程序集编译成可由 64 位公共语言运行库在支持 AMD64 或 EM64T 指令集的计算机上运行。
在 64 位 Windows 操作系统上:
-
用 /platform:x86 编译的程序集将在运行于 WOW64 下的 32 位 CLR 上执行。
-
用 /platform:anycpu 编译的 DLL 将在加载该进程的同一 CLR 上执行。(例如:IIS应用程序池中,“启用32应用程序”为True时,则在32位CLR上执行,否则在64位CLR上执行)
-
用 /platform:anycpu 编译的可执行文件将在 64 位 CLR 上执行。
详细参考:https://msdn.microsoft.com/zh-cn/library/zekwfyz4(v=vs.120).aspx