Можно ли скомпилировать приложения Магазина Windows как x86 вместо AnyCPU?

У меня есть код .NET, который я собираюсь перенести в приложение Windows Store.

Этот код делает несколько разных вещей, и одна из вещей, которые он делает, зависит от того, что он компилируется как x86 вместо AnyCPU.

Это будет проблемой? Можно ли скомпилировать приложение Metro как x86 и по-прежнему распространять в Магазине Windows? Собирается ли скомпилировать как x86, чтобы он не мог работать в Windows RT? Придется ли мне разработать версию без этого набора функций для работы в Windows RT? Если я могу поместить код в его собственную сборку, могу ли я просто сделать так, чтобы версия Windows RT не использовала его? (Итак, основной исполняемый файл - AnyCPU, а эта сборка - x86).


person Tom Kidd    schedule 18.10.2012    source источник
comment
Это может быть хорошим вопросом, который стоит задать сегодня в чате разработчиков в комнате чата Windows 8: chat.stackoverflow.com/rooms/17195/   -  person John Koerner    schedule 18.10.2012


Ответы (2)


Можно ли скомпилировать приложение Metro как x86 и по-прежнему распространять в Магазине Windows?

да. Однако его можно будет установить только для установок x86.

Собирается ли скомпилировать как x86, чтобы он не мог работать в Windows RT?

Поскольку Windows RT предназначена для работы только на процессорах ARM, компиляция для x86 не позволит ей работать в Windows RT.

Придется ли мне разработать версию без этого набора функций для работы в Windows RT? Если я могу поместить код в его собственную сборку, могу ли я просто сделать так, чтобы версия Windows RT не использовала его?

Вы можете использовать символы условной компиляции для включения / исключения функциональности в соответствии с требованиями вашего кода. https://stackoverflow.com/a/6587823/61385 показывает пример того, как это сделать.

person Akinwale    schedule 18.10.2012
comment
Думаю, на самом деле я спрашиваю - нужно ли мне выпустить две версии? Я вижу, как условные операторы могут привести меня к одной кодовой базе, но можно ли выпустить одну версию, которая может исключить x86-зависимую функцию при запуске на RT? Если да, сможет ли это пройти мимо проверяющих Microsoft и попасть в магазин? - person Tom Kidd; 18.10.2012
comment
Да, я полагаю, это возможно. При создании приложений вы указываете, какие архитектуры вы хотите поддерживать (x86, x64 и ARM). Это создаст соответствующие файлы для загрузки. Какие бы файлы вы ни загружали, поддерживаемые платформы будут отображаться в Магазине. Примет ли проверяющий персонал, это совсем другой вопрос. При отправке вашего приложения на сертификацию есть поле для включения примечаний для тестировщиков, поэтому я думаю, вы могли бы использовать это, чтобы предоставить подробную информацию о различиях в функциональности. - person Akinwale; 18.10.2012

Просто скомпилируйте те библиотеки, которые вам нужны, и при загрузке в магазин приложений просто загрузите ту, которую хотите. Проверьте папку apppackages и найдите файлы .appxupload.

person Community    schedule 18.10.2012