2012-02-10 2 views
15

Я хочу, чтобы мое приложение было создано для x64 (потому что я использую x64 dll). В диспетчере конфигурации я установил «Активная платформа решений» на «x64» Однако в списке проектов Платформа установлена ​​на «x86». «целевая платформа» в свойствах проекта также установлен «x86»Активная платформа решения VS Платформа проекта VS Платформа target

я полностью запутались есть три места для установки целевой платформы:

  • Configuration Manager: Активная платформа решения
  • Configuration Manager: Project платформа
  • свойства проекта: целевая платформа

Например, я могу установить Активную платформу решения для x64, пнул Project tform до x86 и целевой объект для x64. Что это будет означать?

Может ли кто-нибудь описать, что именно означает каждый из этих вариантов и как они должны использоваться вместе? Как скомпилировать x64?

ответ

18

Платформа активного решения позволяет настраивать определенную комбинацию конфигураций для каждого проекта. Платформа проекта позволяет вам создавать определенные параметры конфигурации для проекта. Эти две настройки фактически не говорят о том, на какой платформе будут созданы решения и проекты, это всего лишь набор настроек, в котором вы можете изменить фактические настройки.

По умолчанию параметр x64 устанавливает компиляцию проекта специально для x64, но это изменение в свойствах проекта с помощью свойства Platform Target Target (хотя было бы очень сложно изменить цель для существующего набора конфигурации быть чем-то другим, кроме его имени).

Свойство Платформа - это параметр, используемый для определения того, на какой платформе собрана сборка проекта. Настройка AnyCPU является рекомендуемым параметром, если этот проект не имеет каких-либо зависимостей от компонентов, для работы которых требуется конкретная платформа.

Установка AnyCPU вызовет сборку, чтобы быть точно вовремя: под ред к

  • x86 на 32-битных платформах
  • 64 на 64 разрядных платформах

См this question для получения дополнительной информации.

Что касается вашего примера, установка активной платформы решений на x64, платформа проекта на x86 и целевая страница проекта на x64 означает, что при выборе конфигурации решения сборка проекта будет построена с JIT только до 64 бит, что приведет к ошибке, если вы пытались запустить его на 32-битной платформе.

Настройка x64 должна использоваться, если у вас есть зависимость от только 64-разрядного ресурса, такого как 64-разрядная dll. Соответственно, параметр x86 следует использовать, если у вас есть зависимость от 32-разрядного ресурса.

Настройки менеджера конфигурации можно использовать для изменения способа создания проектов, например, использовать разные ссылочные сборки для x86/x64 или даже для отладки/выпуска, например in this question.Набор конфигурации представлен как переменные, которые можно использовать внутри конфигурации сборки, чтобы контролировать, что включать и какие задачи сборки выполнять для конкретной конфигурации. Просмотрите файл проекта с помощью блокнота, и вы увидите, как он используется.

+4

Безумная сложность, когда она выглядит достаточно, чтобы иметь только два переключателя в свойствах проекта (x64 | x86 | Любой ЦП). – SerG