Любой процессор - предпочитаю 32 бит

Что делает опция Any CPU - Prefer 32 bit?

Хотя я знаю, что WinRT не может работать с exe и может запускать только приложения из Магазина Windows, есть несколько вопросовсуществовать наПереполнение стека которые задают один и тот же вопрос, и оба ссылаются на этоблог что говорит:

В .NET 4.5 и Visual Studio 11 сыр был перемещен. По умолчанию для большинства проектов .NET снова используется AnyCPU, но для AnyCPU теперь имеется более одного значения. Существует дополнительный подтип AnyCPU, «Любой 32-битный процессор», который является новым по умолчанию (в целом, теперь есть пять опций для переключателя компилятора / платформы C #: x86, Itanium, x64, anycpu и anycpu32bitpreferred ). При использовании этого варианта AnyCPU семантика следующая:

Если процесс выполняется в 32-разрядной системе Windows, он выполняется как 32-разрядный процесс. IL скомпилирован в машинный код x86.Если процесс выполняется в 64-разрядной системе Windows, он выполняется как 32-разрядный процесс. IL скомпилирован в машинный код x86.Если процесс выполняется в системе ARM Windows, он выполняется как 32-разрядный процесс. IL скомпилирован в машинный код ARM.

Однако после покупки моего Surface RT я создал программу Hello World, установил для нее значение Любой процессор, проверил флаг Prefer 32 Bit, скомпилировал и скопировал его в мой Surface. Когда я запустил программу, операционная система сказала мне, что она не может запустить программу и что я должен смотреть на рынок, как это было бы для любого x86 / x64 exe. Точное сообщение: «Это приложение не может работать на вашем ПК. Чтобы найти приложения для этого ПК, откройте Магазин Windows».

Так что же это на самом деле делает и возможно ли скомпилировать приложение Any CPU для Window RT на ARM?

Ответы на вопрос(2)

Ваш ответ на вопрос