Подтвердить что ты не робот

Visual Studio: как правильно построить и указать конфигурации и платформы для x64 и x86

Использование: Visual Studio 2012 Professional и Ultimate со всеми последними обновлениями

Как правильно указать конфигурацию и платформу для правильной сборки x86 и x64.

Visual Studio, когда вы впервые создаете приложение Winforms, дает вам две конфигурации: Debug и Release, с AnyCPU, определенными как платформа.

Если вы просто нацеливаете одну платформу, тогда ответ прост, вы перейдете к сборке | Configuration Manager и выберите одну из платформ, а затем перейдите на страницу сборки свойств проекта и выберите ту же платформу (x86 или x64) и вуаля! Вы завершаете (скажем, хотите x86)

/bin/x86/Debug
/bin/x86/Release

У меня есть решение с одним приложением и несколькими проектами зависимостей (сборки DLL).

Поскольку у диспетчера конфигурации VS есть два раскрывающихся списка вверху, Конфигурация и платформа, а затем на уровне проекта другая конфигурация и платформа, я сделал следующее:

(Прежде чем вводить текст дальше, я думаю, что вся настройка отстойна, но...)

Я создал две новые конфигурации Debug64 и Release64, используя самую большую выпадающую и выбранную Mixed Platforms для платформы.

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

Debug64 === Debug64, x64
Release64 === Release64, x64
Debug === Debug, x86
Release === Release, x86

Затем я перешел на страницу сборки проекта (Alt + Enter), проигнорировал платформу и поочередно выбрал каждую конфигурацию, а затем установил целевой процессор. Я изменил вывод следующим образом:

Debug64: /bin/x64/Debug
Release64: /bin/x64/Release
Debug: /bin/x86/Debug
Release: /bin/x86/Release

По умолчанию Visual Studio использует верхнюю платформу для установки папки и имени конфигурации для установки последней части вывода. Если я сохраню и закрываю свойства проекта, все кажется прекрасным. Я могу создать и завершить работу с соответствующими папками.

Проблема возникает, когда я переключаю конфигурации решений на панели инструментов Visual Studio. Страница свойств свойств проекта возвращается к тому, что она хочет по умолчанию, а именно:/bin/x64/Debug64 для обоих отладок и что-то подобное для выпуска.

Что побудило меня написать эту проблему, так это то, что дизайнер запутался и не может найти соответствующую библиотеку.

Я хотел бы выбрать из раскрывающегося списка конфигурации решения Visual Studio мою желаемую цель (Debug x64, Release x64, Debug x86, Release x86) и создать ее.

Как мне это сделать? Что я делаю неправильно?

Создание только двух конфигураций решений, отладки и выпуска, не работает, потому что нет ни одного всплывающего окна платформы решений, которое затем предназначено для всех подпроектов. Visual Studio имеет, как мне кажется, слишком много конфигураций разделов и разделов платформы. Может быть, я просто что-то пропустил.

4b9b3361

Ответ 1

Для потомков вот ответ. Это может показаться очевидным, но это было не для меня, поэтому...

Примечания. Создание Debug64 и Release64 было ошибками, которые стоили мне. Я не только должен был удалить Debug64 и Release64, присутствующие в решениях (в Configuration Manager), но мне пришлось удалить автоматически созданные Debug64 и Release64 для каждого из проектов (также в Configuration Manager, как раз в таблице). Это заняло некоторое время.

  • Убедитесь, что у вас есть автоматически созданные конфигурации отладки и выпуска.

  • На платформах решений добавьте x86 и x64. По умолчанию используется любой процессор.

  • Выберите из конфигурации решения и платформы выпадающие списки различных подстановок (Debug/Release и x86/x64). Убедитесь, что проекты совпадают, и они должны.

  • Перейдите в каждый проект (выберите название проекта, затем нажмите Alt + Enter).

  • На странице свойств проекта выберите различные перестановки отладки/выпуска и x86/x64 в раскрывающихся списках решений. Убедитесь, что целевой процессор настроен правильно (это должно быть, но я нашел экземпляры, когда они не были, вероятно, из-за моих предыдущих попыток). Также установите выходной каталог. Это должно быть хорошо и автоматически (/bin/x86/Debug и т.д.). Если нет, исправьте.

Microsoft не имеет выпадающего списка платформы решений на панели инструментов, поэтому, если вы хотите изменить платформы решений, вы должны перейти к сборке | Configuration Manager и выберите подходящую платформу решений. Вы можете выбрать конфигурацию решения либо из сборки | Configuration Manager (Visual Studio автоматически обновит выбранную конфигурацию решения в раскрывающемся списке панели инструментов) или просто выберите новую конфигурацию решения в раскрывающемся меню Visual Studio.

Построение проекта позаботится обо всем остальном.

Замечания по строительству 1. Дизайнеру Visual Studio требуется x86-версия пользовательских элементов управления для правильной отображения. Это было не очевидно с самого начала, но сейчас. Visual Studio устанавливается в папку "C:\Program Files (x86)", а не в папку "C:\Program Files", что делает Visual Studio 32-разрядным приложением, а не 64-битным, следовательно, его способность "использовать" только 32-разрядные версии в дизайнере.

  • Могут быть папки с паразитом /bin/Debug и/bin/release, но они не будут использоваться.

  • Я все еще пытаюсь заставить BuildVersionInc не увеличиваться при создании одного и того же кода в разных конфигурациях, но это другая проблема.