【发布时间】:2010-10-05 17:28:51
【问题描述】:
我对 Visual Studio 2008 中的 .NET 平台构建选项有些困惑。
什么是“Any CPU”编译目标,它生成什么样的文件?我检查了这个“任何 CPU”构建的输出可执行文件,发现它们是 x86 可执行文件(谁不会看到它的到来!)。那么,将可执行文件定位到 x86 与“任何 CPU”之间有什么区别吗?
我注意到的另一件事是托管 C++ 项目没有此平台作为选项。这是为什么?这是否意味着我对“任何 CPU”可执行文件是普通 32 位可执行文件的怀疑是正确的?
【问题讨论】:
-
在决定使用哪个平台目标时要考虑的另一件事:如果 启动项目 的目标是
Any CPU并且您在 64 位操作系统上运行,您在调试时无法编辑并继续。 (您正在有效地调试 64 位进程)。您可以将 Startup project 设为目标x86以在调试时规避此问题。 (从启动项目引用的程序集可能会继续以Any CPU为目标。 -
@CristiDiaconescu 使用 VS2013 编辑和继续现在是可能的
-
我认为这里应该注意一下项目是应用程序还是类库,因为为后者设置目标位数可能会影响其对消费应用程序的可用性,具体取决于平台。我遇到了一个
x86库被AnyCPU应用程序使用的问题,我必须设置Prefer 32-bit以避免加载错误。
标签: .net visual-studio-2008 build 64-bit