1
votes

I have read a few posts and SO questions about the meaning of 32-bit preferred flag. According to the 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.

Thus, it seems that there is no reason not to use this flag.

Why would someone ever prefer not to use this flag ?

1

1 Answers

4
votes

There's a reason, there always is a reason, it resolved an ambiguity once 64-bit ARM processors became available. What did you mean when you changed the Platform Target to x86? Did you mean "should only run on x86 processors"? Or did you mean "should only run in 32-bit mode"?

The "Prefer 32-bit mode" option disambiguates it.