Ответ 1
Платформа Active Solution позволяет настраивать определенную комбинацию конфигураций для каждого проекта. Платформа проекта позволяет вам создавать определенные параметры конфигурации для проекта. Эти две настройки фактически не говорят о том, на какой платформе будут строиться решения и проекты, это просто набор конфигурации, в котором вы можете изменить фактические настройки.
По умолчанию параметр x64 устанавливает, что проект должен быть скомпилирован специально для x64, но может быть изменен в свойствах проекта через свойство Project Target Target (хотя было бы очень сложно изменить цель для существующего набора конфигурации ничего, кроме его имени).
Каждое свойство Платформа Target - это параметр, который используется для определения того, на какой платформе собрана сборка проекта. Настройка AnyCPU является рекомендуемым параметром, если этот проект не имеет каких-либо зависимостей от компонентов, для работы которых требуется конкретная платформа.
Значение AnyCPU приведет к тому, что сборка будет JIT: ed до
- x86 на 32-разрядных платформах
- x64 на 64-разрядных платформах
Подробнее см. этот вопрос.
Что касается вашего примера: установка активной платформы решений на x64, платформа Project на x86 и целевая страница Project на x64 означает, что при выборе конфигурации решения сборка проекта будет построена на JIT только до 64 бит, что приведет к ошибке, если вы попытался запустить его на 32-битной платформе.
Значение x64 должно использоваться, если у вас есть зависимость от только 64-разрядного ресурса, такого как 64-разрядная dll. Соответственно, параметр x86 следует использовать, если у вас есть зависимость от 32-разрядного ресурса.
Настройки менеджера конфигурации можно использовать для изменения способа создания ваших проектов, например, использовать разные ссылочные сборки для x86/x64 или даже для отладки/выпуска, например в этом вопросе. Набор конфигурации представлен как переменные, которые можно использовать внутри конфигурации сборки, чтобы контролировать, что включать и какие задачи сборки выполнять для конкретной конфигурации. Просмотрите файл проекта с помощью блокнота, и вы увидите, как он используется.