4

有人能告诉我 32 位和 64 位 .NET 程序集之间的区别吗?

我了解何时需要精确而不是选择 AnyCPU 配置。

问候,米塔

4

3 回答 3

3

.NET * x86 - 32bit 的汇编目标很少,应用程序将作为 32 位进程运行,在 Win64 * x64 - 64 位上,应用程序将在 Win64 上作为 64 位进程运行,在 32 位系统上运行失败。* AnyCPU - 应用程序将使用最合适的定位。* IA64 - 英特尔安腾平台

通常,在纯托管应用程序中,最合适的目标是 AnyCPU。如果您的应用程序使用 PInvoke 或 COM 组件,您可能需要根据您使用的非托管组件的目标来定位您的应用程序。

于 2010-06-16T09:12:10.160 回答
2

这些应为您提供所询问的信息:

  1. 使用 .NET 进行 x64 开发
  2. 如何确定 .NET 程序集是为 x86 还是 x64 构建的?
于 2010-06-16T13:30:19.743 回答
0

在与其他应用程序交互(通过 COM)时,我在运行 x64 位代码时遇到了一些问题。

DLL/EXE 的标头中有一些位设置为 x86 或 x64 代码,.Net 加载程序会查看这些位。IL 没有改变。您甚至可以在编译后使用CorFlags设置它

于 2010-06-16T09:09:28.807 回答