为什么 32 位首选标志甚至存在?

Why does the 32-bit preferred flag even exists?

我已经阅读了一些关于 32 位首选标志含义的帖子和 SO 问题。根据 MSDN post

The difference, then, between “Any CPU 32-bit preferred” and “x86” is only this: a .NET application compiled to x86 will fail to run on an ARM Windows system, but an “Any CPU 32-bit preferred” application will run successfully.

如此看来,似乎没有理由不使用这个标志。

为什么有人不喜欢使用这个标志?

这是有原因的,总是是有原因的,一旦 64 位 ARM 处理器可用,它就解决了一个歧义。将 Platform Target 更改为 x86 是什么意思?您是说 "should only run on x86 processors" 吗?或者你的意思是 "should only run in 32-bit mode"?

"Prefer 32-bit mode" 选项消除了歧义。