0

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

我已经编辑了构建定义以确保使用正确的构建控制器并编辑了构建项目(并重新签入)以更新 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 大师不在,我有点难过。

任何想法为什么当我排队构建但在安排过夜时失败时这是有效的?

4

2 回答 2

1

使用MSBuild 任务而不是 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>
于 2012-05-18T08:09:26.617 回答
0

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

于 2012-05-21T08:34:39.617 回答