2

我的主 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 文件。

有没有一种简单的方法来捕获这些信息?

4

1 回答 1

1

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

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

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

或者,尝试查看构建机器上的 Microsoft.TeamFoundation.Build.targets 文件。他们在那里使用了很多 MSBuild 调用,我看到他们传入了 LogLocation 的属性。但我不知道这是全球团队建设的事情还是只是该文件的内部。

于 2010-05-04T23:13:33.553 回答