Макросы событий сборки Visual Studio - имя конфигурации решения - PullRequest
11 голосов
/ 07 января 2011

В моем событии после сборки я вызываю командный файл и передаю ему текущую конфигурацию сборки.

C:\Dev\Project\Build\build.bat /$(Configuration)

Это передает имя конфигурации проекта сценарию сборки.

Есть ли способ передать текущее Имя конфигурации решения ?

Ответы [ 3 ]

1 голос
/ 27 июня 2012

Не напрямую. Когда вы используете Edit / Macros для поля свойства, единственное имя конфигурации в списке - это имя для проекта, который у вас уже есть.

Однако вы можете определить свой собственный макрос. Для каждой конфигурации решения создайте новый лист свойств, используйте вкладку «Макросы пользователя», чтобы определить макрос с именем «SolutionConfiguration», а значение - это имя конфигурации, а затем добавьте этот лист свойств в соответствующую конфигурацию проекта каждого проект в решении.

Если есть лучший способ, я бы с удовольствием узнал об этом.

0 голосов
/ 19 июня 2013

Существует свойство SolutionConfigurationContents , которое создается Msbulid во время обработки файла soluton и содержит в нем конфигурацию решения. При сборке из VS он будет содержать конфигурацию проекта (не решения).

0 голосов
/ 24 мая 2013

Я создал для этого расширение VS2010, оно позволяет вам использовать $(SolutionConfiguration) и $(SolutionPlaform). $(BuildMacro) сборка макросов. Вы можете скачать исходный код и собрать его самостоятельно с здесь .

Отображение некоторого кода, это просто регистрация в методе UpdateSolution_Begin IVsUpdateSolutionEvents VS и установка там Environment.SetEnvironmentVariable().

        _IVsSolutionBuildManager = (IVsSolutionBuildManager)GetService<SVsSolutionBuildManager>();
        _UpdateSolutionEvents = new UpdateSolutionEvents(); // IVsUpdateSolutionEvents
        int hr;
        uint pdwCookie;
        hr = _IVsSolutionBuildManager.AdviseUpdateSolutionEvents(_UpdateSolutionEvents, out pdwCookie);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...