我必须编写一个仅依次运行两个批处理文件的TFSBuild.proj文件。我只需要从构建定义中调用proj文件,proj文件将依次调用两个批处理文件。所有的建筑物都将由建立服务器上的批处理文件完成。如何编写按顺序运行两个批处理文件的TFSBuild.proj文件?
我有一个批处理文件放在生成服务器上。以下是我写的TFSBuild.proj文件:
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="GetLatest" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
<Target Name="EndToEndIteration"
Condition=" '$(IsDesktopBuild)'!='true' "
DependsOnTargets="$(EndToEndIterationDependsOn)" >
<CallTarget Targets="GetLatest"/>
</Target>
<Target Name="GetLatest">
<Exec Command="C:\BuildScript\GetFromTFSTask.bat" />
</Target>
<Target Name="BuildStampVer">
<Exec Command="C:\BuildScript\BuildTask.bat" />
</Target>
</Project>
我得到一个错误:
The command "C:\StampBuild\GetFromTFS.bat" exited with code 3.
我需要在给定的路径运行,从构建服务器批处理文件,我正在从建设我的开发服务器。
感谢尼克,但我无法解决我的问题。我已经添加了一些更多的信息,你可以看看它并建议。 – Ashutosh 2012-02-01 08:38:01
蝙蝠文件是否需要特定的工作目录?你有没有试图自己手动运行它?另外,我看到EndToEndIteration在GetLatest上执行一个CallTarget,但我没有看到你将BuildStampVer目标包含在要调用的目标中。你不应该把这个目标放在DependsOn或其他东西吗? – 2012-02-01 15:35:05
嗨,尼克,我对proj文件没有太多的想法。我必须编写一个应该只按顺序调用这两个批处理文件的proj文件。我已经将所有内容写入批处理文件,如果手动运行它,批处理文件工作正常。请建议我应该如何修改我的proj文件。 – Ashutosh 2012-02-03 11:18:19