2013-03-27 101 views
0

我们有一个很大的非Visual Studio C++项目,它是通过批处理文件构建的。我已经在Visual Studio中将它作为一个makefile项目与项目属性中的定制“构建命令行”集成在一起,这种方式运行良好,已经完成了一年多。团队基础服务器自动构建

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

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

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

命令“Autobuild.cmd”与代码退出1.

其中自动构建是在解决方案的“构建命令行”中规定的CMD文件。

任何人都可以想到为什么会出现这种情况,我认为构建服务器只需运行Build命令,并在'Items to Build'框中指定项目。如果是这种情况,那么我不明白为什么它会失败。

回答

0

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

对于使用代码1退出的问题,我认为您需要添加一些额外的信息行以便在cmd程序中打印,并且当您在TFS Build中激活日志时,您可能会看到更多信息。

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”语言,可以说话。