MSBuild - Получение цели, названной из командной строки

Кто-либо знает, как получить название ЦЕЛИ (/t) названный из командной строки MSBuild? Существует несколько типов целей, которые можно назвать, и я хочу использовать то свойство в уведомлении пользователям.

Пример:

msbuild Project.proj /t:ApplicationDeployment /p:Environment=DEV

Я хочу получить доступ к выходным словам ApplicationDeployment в моем.Proj файле.

Существует ли свойство, к которому я могу получить доступ? Какая-либо подсказка, как сделать это?

Править: Я не хочу должным быть также передавать в свойстве для получения этого.

ОБНОВЛЕНИЕ: Это основано на сценариях развертывания с помощью сценариев MSBuild. Мой сервер сборки не используется для развертывания кода, только для создания. Сам сервер сборки имеет уведомления о сборке, которые могут быть выбраны в.

14
задан Liam 17 September 2018 в 10:10
поделиться

4 ответа

Я нашел ответ!

<Target Name="ApplicationDeployment" >
    <CreateProperty Value="$(MSBuildProjectName) - $(Environment) - Application Deployment Complete">
      <Output TaskParameter="Value" PropertyName="DeploymentCompleteNotifySubject" />
    </CreateProperty>

я хотел бы дать частичный кредит безразличному. Не уверенный, как сделать это.

7
ответ дан 1 December 2019 в 13:10
поделиться

Я не уверен, как сделать точно, что Вы спрашиваете, но Вы могли передать ту строку с помощью/p опции?

msbuild Project.proj /t:ApplicationDeployment /p:Environment=DEV;MyValue=ApplicationDeployment
<час>

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

<Target Name="ApplicationDeployment">
<PropertyGroup>
  <InvokedTarget Condition="'${InvokedTarget}'==''">ApplicationDeployment</InvokedTarget>
</PropertyGroup>

...
</Target>
10
ответ дан 1 December 2019 в 13:10
поделиться

Нет никакого способа сделать это (что я знаю). MSBuild не имеет свойства для списка целей требуемым создать.

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

4
ответ дан 1 December 2019 в 13:10
поделиться

Я рекомендовал бы использовать сервер как CCNET для обработки выполнения сборки и уведомления. Несомненно, можно сделать вещи к сценарию MSBuild для отсылки уведомлений, но что домен принадлежит серверу сборки.

-1
ответ дан 1 December 2019 в 13:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: