Задача Team Build MSBuild не обновляет основной файл журнала сборки - PullRequest
2 голосов
/ 24 ноября 2008

У меня есть событие после сборки в моем основном файле TFSBuild.proj, которое использует задачу MSBuild для вызова задачи развертывания после успешной сборки. Это выглядит так:

<ItemGroup>
    <DeploymentTargets Include="..\Sources\Build\SkunkWorks.Build.Deployment.targets">
      <Properties></Properties>
    </DeploymentTargets>
 </ItemGroup>
 <Target Name="AfterBuild">
    <Message Text="Executing Deployment"/>
    <MSBuild Projects="@(DeploymentTargets)" 
       Properties="PickUpLocation='@(DropLocation)'" 
       ContinueOnError="false"/>
 </Target>

Это прекрасно работает, и сценарий развертывания вызывается так, как вы ожидаете. Проблема заключается в том, что любые ошибки или сообщения, возникающие при выполнении MSBuild, не записываются в файлы BuildLog.txt или ErrorsAndWarnings.txt, которые помещаются в расположение после успешной сборки.

Есть ли простой способ получить эту информацию?

1 Ответ

1 голос
/ 05 мая 2010

Не могли бы вы обойти это, вызывая цели напрямую, а не через MSBuild?

<Import Projects="..\Sources\Build\SkunkWorks.Build.Deployment.targets/>

<Target Name=""/>
  <CallTarget Targets="DeploymentTarget1"/>
</Target>

В качестве альтернативы попробуйте взглянуть на файл Microsoft.TeamFoundation.Build.targets на своем компьютере сборки. Они используют много вызовов MSBuild, и я вижу, что они передают свойство для LogLocation. Но я не знаю, является ли это глобальным Team Build или просто внутренним для этого файла.

...