团队构建MSBuild任务不会更新主构建日志文件

时间:2008-11-24 17:42:50

标签: msbuild team-build

我在我的主TFSBuild.proj文件中有一个after build事件,它使用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 个答案:

答案 0 :(得分:1)

你可以通过直接调用目标而不是通过MSBuild来解决它吗?

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

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

或者,尝试查看构建计算机上的Microsoft.TeamFoundation.Build.targets文件。他们在那里使用了很多MSBuild调用,我看到他们传递了LogLocation属性。但我不知道这是一个全局的团队构建还是仅仅是该文件的内部。