Ответ 1
Смотрите этот пост в блоге Microsoft, в котором говорится:
В .NET 4.5 и Visual Studio 11 сыр перемещен. По умолчанию для большинства проектов .NET это снова AnyCPU, но есть более одного теперь это означает AnyCPU. Существует дополнительный подтип AnyCPU, "Любой CPU 32-бит предпочтительный" , который является новым стандартом (в целом, есть теперь пять вариантов для/компилятора С#: x86, Itanium, x64, anycpu и anycpu32bitpreferred). При использовании этого аромата AnyCPU, семантика:
- Если процесс выполняется в 32-разрядной системе Windows, он запускается как 32-разрядный обработать. IL компилируется в машинный код x86.
- Если процесс выполняется в 64-разрядной системе Windows, он запускается как 32-разрядный обработать. IL компилируется в машинный код x86.
- Если процесс выполняется в системе ARM Windows, он работает как 32-разрядный процесс. IL компилируется в машинный код ARM.
Отключение "Предпочтение 32-битного" отключит это поведение.