Possible Duplicate:
Visual Studio “Any CPU” target

我注意到,在VS中编译C#代码时,通常有用于32/64位系统编译的选项,也有用于任何cpu编译的选项.

这两种 Select 有什么区别?当第一个选项编译成机器代码时, Select 任何CPU是否只会编译成中间字节码(我觉得这不太可能)?还是别的什么?

推荐答案

On a 32-bit machine:

  • Any CPU:作为32位进程运行,可以加载Any CPUx86个程序集,如果try 加载x64个程序集,将得到BadImageFormatException.

  • x86:和Any CPU一样.

  • 总是x64:BadImageFormatException.

On a 64-bit machine:

  • Any CPU:作为64位进程运行,可以加载Any CPUx64程序集,如果try 加载x86程序集,将获得BadImageFormatException.

  • x86:作为32位进程运行,可以加载Any CPUx86个程序集,如果try 加载x64个程序集,将得到BadImageFormatException.

  • x64:和Any CPU一样.

JIT compiler根据此标志生成与请求的目标兼容的汇编代码.

.net相关问答推荐

为什么DotNet新的webapi;命令会为我生成不同的文件夹

如何将 select 语句详细信息提取到不同的方法中仍然保持Eager 加载?

如何使用 awslocal 通过 localstack 中的 cloudwatch events/eventbridge 触发 lambda

查找所有源硬编码字符串

在生产中使用实体框架(代码优先)迁移

在 WinForms 应用程序中查找焦点控件的首选方法是什么?

如何在 EF 代码优先中禁用链接表的级联删除?

是什么让 Enum.HasFlag 这么慢?

注册 COM 互操作与使程序集 COM 可见

为什么 C# 多维数组不实现 IEnumerable

当程序员说针对接口而不是对象的代码时,他们是什么意思?

C#中的引用类型

C# 中的 F# List.map 类似功能?

自创建数据库以来,支持ApplicationDbContext上下文的模型已更改

通过反射查找可空属性的类型

如何判断对象是否已在 C# 中释放

是否可以判断对象是否已附加到实体框架中的数据上下文?

通过继承扩展枚举

如何将 VB 项目转换为 C# 项目

WPF中的依赖属性和附加属性有什么区别?