1

我应该选择什么选项来为 32 位平台服务器在 64 位平台上编译程序集。目前我正在尝试发布到 32 位服务器。我在 Windows Vista 机器上使用 VS2005 来构建我的项目,然后在服务器上发布,但我遇到了错误。知道如何解决这个问题。

我应该在 64 位机器上使用 AnyCPU 选项还是混合平台选项。x86 的选项也被禁用,我不知道为什么。

4

2 回答 2

2

使用任何CPU。只要您的程序集没有任何直接的非托管依赖项或对标记为特定 CPU 的程序集的依赖项,那么您的程序集就可以在 64 位或 32 位上正常工作

于 2009-06-16T08:57:13.367 回答
1

假设您使用托管语言工作,那么编译到“AnyCPU”应该是跨平台的(64/32 位),因为生成的 IL 不会变成机器指令,直到代码在运行时被 JITted。

如果您使用某些依赖于指针大小等的结构,则有极少数例外情况可能会导致位依赖,但这些通常不会出现在您的代码中,尽管在您的代码上运行 FxCop 并没有什么坏处确保代码(在 FxCop 中有一节处理涉及这些问题的可移植性)

于 2009-06-16T08:58:54.050 回答