团队基础服务器自动构建

时间:2013-03-27 15:12:30

标签: visual-studio tfsbuild

我们有一个很大的非Visual Studio C ++项目,它是通过批处理文件构建的。我已经在Visual Studio中将它集成为一个makefile项目,并在项目属性中定制了“Build Command Line”,这种方法运行良好,已经完成了一年多。

我现在要介绍Team Foundation Server并配置自动构建。

如果我在Visual Studio中构建项目,则项目正常构建 如果我使用自动构建服务器来构建项目,则构建每次都会失败

在构建报告中查看日志文件的选项显示为灰色。给出的报告是

命令“Autobuild.cmd”退出,代码为1。

其中autobuild是解决方案的“构建命令行”中指定的cmd文件。

任何人都可以想到可能出现这种情况的原因,我假设构建服务器只运行Build命令,并在“要构建的项目”框中指定项目。如果是这种情况,那我就不明白为什么它会失败。

2 个答案:

答案 0 :(得分:1)

有很多可能的原因;遗憾的是,你没有提供足够的信息来回答这些问题。

首先要尝试将构建定义日志记录级别更改为Diagnostic。 (您也可以在排队新构建时执行此操作)。

我还建议实际将makefile包装在msbuild.proj文件中。

简单的事情:

<Project ToolsVersion="4.0" DefaultTargets="build"
         xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Target Name="build">
    <Exec Command="autobuild.cmd" />
  </Target>
</Project>

Exec task有很多选项可以自定义cmd的调用方式,并且可以帮助您诊断错误。

一般情况下,如果您想利用TFS构建,我建议尽可能多地将autobuild.cmd迁移到msbuild。 MSBuild是TFS的“makefile”语言,可以这么说。

答案 1 :(得分:0)

在您的构建定义中,您可以选择日志记录,您可以将其更改为Verbose日志记录。也许你在日志文件中得到了一些信息。

对于退出代码1的问题,我认为您需要添加一些额外的信息行以在cmd程序中打印,当您在TFS Build中的登录处于活动状态时,您可能会看到有关它的更多信息。