Конфигурация решения

Конфигурации решения хранят свойства уровня решения. Они направляют поведение клавиши Start (F5) и команд сборки . По умолчанию эти команды создают и запускают конфигурацию отладки. Обе команды выполняются в контексте конфигурации решения. Это означает, что пользователь может ожидать, что F5 запустится и построить любое активное решение с помощью параметров. Среда предназначена для оптимизации решений, а не для проектов, когда речь идет о создании и запуске.

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

Примечание.

Для создания или изменения конфигураций решения нет интерфейсов расширяемости. Необходимо использовать DTE.SolutionBuild. Однако существуют API расширяемости для управления сборкой решения. Дополнительные сведения см. в разделе IVsSolutionBuildManager2.

Вот как можно реализовать конфигурации решения, поддерживаемые типом проекта:

  • Project

    Отображает имена проектов, найденных в текущем решении.

  • Настройка

    Чтобы указать список конфигураций, поддерживаемых типом проекта и отображаемым на страницах свойств, реализуйте IVsCfgProvider2.

    В столбце конфигурации отображается имя конфигурации проекта для сборки в этой конфигурации решения и перечислены все конфигурации проекта при нажатии кнопки со стрелкой. Среда вызывает GetCfgNames метод для заполнения этого списка. GetCfgProviderProperty Если метод указывает, что проект поддерживает редактирование конфигурации, новые или изменения выделения также отображаются в заголовке конфигурации. Каждое из этих диалоговых окон запуска выборок, вызывающих методы IVsCfgProvider2 интерфейса для изменения конфигураций проекта.

    Если проект не поддерживает конфигурации, столбец конфигурации отображает значение None и отключен.

  • Платформа

    Отображает платформу, для выбранной конфигурации проекта и перечисляет все доступные платформы для проекта при нажатии кнопки со стрелкой. Среда вызывает GetPlatformNames метод для заполнения этого списка. GetCfgProviderProperty Если метод указывает, что проект поддерживает редактирование платформы, новые или изменения выделения также отображаются в заголовке "Платформа". Каждое из этих диалоговых окон запуска, которые вызывают IVsCfgProvider2 методы для изменения доступных платформ проекта.

    Если проект не поддерживает платформы, столбец платформы для этого проекта отображает значение None и отключен.

  • Сборка

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

  • Развернуть

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

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