如果手动排队,TFS Autobuild会成功,但如果已安排,则会失败

时间:2012-05-17 09:19:57

标签: visual-studio tfs tfsbuild workspace

我有一个项目,我从.net 2.0升级到.net 4.0。

我编辑了Build定义,以确保正在使用正确的构建控制器并编辑Build Project(并重新检入)以更新devenv的位置,如下所示:

<Exec Command="&quot;$(ProgramFiles)\Microsoft Visual Studio 10.0\Common7\IDE\devenv&quot; &quot;$(SolutionRoot)\TBSWatcher.sln&quot; /Build &quot;Release|Any CPU&quot;"/>

如果我手动排队新的构建它会成功,但是隔夜预定的构建失败。

错误日志显示它在尝试使用Visual Studio 2008构建项目时失败。

E:\Builds\10\Tools\MyProject\BuildType\TFSBuild.proj (240): The command ""C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\devenv" "E:\Builds\10\Tools\MyProject\Sources\MyProject.sln" /Build "Release|Any CPU"" exited with code 9009.

我怀疑它可能与工作空间有关,但我们的TFS大师不在了,我有点难过。

为什么在我对队列进行排队但是在一夜之间安排失败时有什么想法呢?

2 个答案:

答案 0 :(得分:1)

使用MSBuild Task代替Exec任务。

<ItemGroup>
    <ProjectToBuild Include="E:\Builds\10\Tools\MyProject\Sources\MyProject.sln"></ProjectToBuild>
</ItemGroup>
 <Target Name="Build">
    <MSBuild Projects="@(ProjectToBuild)" Properties="Configuration=Release;Platform=AnyCPU"/>
</Target>

答案 1 :(得分:0)

看来,在运行exec命令之前,构建失败了。 在这种情况下,您可以检查导入是否已添加到E:\ Builds \ 10 \ Tools \ MyProject \ BuildType \ TFSBuild.proj文件中。 无论如何你应该摆脱使用exec任务。