Кто-либо знает, как получить название ЦЕЛИ (/t) названный из командной строки MSBuild? Существует несколько типов целей, которые можно назвать, и я хочу использовать то свойство в уведомлении пользователям.
Пример:
msbuild Project.proj /t:ApplicationDeployment /p:Environment=DEV
Я хочу получить доступ к выходным словам ApplicationDeployment
в моем.Proj файле.
Существует ли свойство, к которому я могу получить доступ? Какая-либо подсказка, как сделать это?
Править: Я не хочу должным быть также передавать в свойстве для получения этого.
ОБНОВЛЕНИЕ: Это основано на сценариях развертывания с помощью сценариев MSBuild. Мой сервер сборки не используется для развертывания кода, только для создания. Сам сервер сборки имеет уведомления о сборке, которые могут быть выбраны в.
Я нашел ответ!
<Target Name="ApplicationDeployment" >
<CreateProperty Value="$(MSBuildProjectName) - $(Environment) - Application Deployment Complete">
<Output TaskParameter="Value" PropertyName="DeploymentCompleteNotifySubject" />
</CreateProperty>
я хотел бы дать частичный кредит безразличному. Не уверенный, как сделать это.
Я не уверен, как сделать точно, что Вы спрашиваете, но Вы могли передать ту строку с помощью/p опции?
msbuild Project.proj /t:ApplicationDeployment /p:Environment=DEV;MyValue=ApplicationDeployment
<час> Единственный другой путь I видит, чтобы сделать это, должен использовать условное свойство в каждой цели и таким образом установить первую цель, которая будет вызвана.
<Target Name="ApplicationDeployment">
<PropertyGroup>
<InvokedTarget Condition="'${InvokedTarget}'==''">ApplicationDeployment</InvokedTarget>
</PropertyGroup>
...
</Target>
Нет никакого способа сделать это (что я знаю). MSBuild не имеет свойства для списка целей требуемым создать.
Однако при нахождении пути имейте в виду, что это не могла бы быть единая цель, но вместо этого список целей для создания.
Я рекомендовал бы использовать сервер как CCNET для обработки выполнения сборки и уведомления. Несомненно, можно сделать вещи к сценарию MSBuild для отсылки уведомлений, но что домен принадлежит серверу сборки.