Ответ 1
если я устанавливаю это значение на x86, значит ли это, что я не могу запустить этот проект на машине x64?
Нет, 32-разрядные приложения (x86) отлично работают на 64-разрядной Windows (x64). Все 64-разрядные версии Windows включают 32-разрядный уровень совместимости под Windows под Windows 64 (WOW64). Это, как правило, то, что вы хотите, по сути, поскольку большинство приложений не могут быть выполнены для 64-разрядных.
Однако компиляция для 64-битного (x64) означает, что ваше приложение не будет запускаться на 32-разрядной (x86) машине. Вы можете вернуться назад (64-разрядный может работать 32-разрядный), но вы не можете идти вперед (32-разрядный не может работать 64-разрядный).
Компиляция для Any CPU
всегда является опцией, как вы указываете. Это позволит приложению работать как 32-разрядное приложение (x86) на 32-битной машине и как 64-разрядное приложение (x64) на 64-разрядной машине. Это звучит как панацея, но есть затраты. Прежде всего, вам нужно будет тщательно протестировать ваше приложение в 32-разрядной и 64-разрядной средах, тогда как если вы ориентируетесь только на 32-разрядные среды (включая 32-разрядные среды на 64-разрядном хосте), вам нужно будет только протестировать одну сборку. И дополнительная рабочая нагрузка редко стоит того, что большинство бизнес-приложений не извлекают выгоду из дополнительного пространства памяти в 64-битной среде и, вероятно, в конечном итоге победят любые потенциальные выгоды за счет увеличения накладных расходов 64-разрядных указателей.
Visual Studio сама по себе является хорошим примером приложения, которое полностью 32-битное. 64-битной версии нет, но она отлично работает на 64-битном хосте. Этот пост в блоге помогает пролить свет на то, почему было принято решение сохранить VS 32-бит. Вы можете найти обоснование, полезное для принятия решения самостоятельно.
Аналогично, хотя Microsoft Office теперь доступен в 64-разрядном пакете, Microsoft по-прежнему рекомендует большинству клиентов придерживаться 32-разрядной версии. Есть проблемы совместимости с 64-битной версией, и там не так много пользы.