TFS 2012构建错误“CreateWorkspaceTask”任务未获得所需参数“BuildAgentUri”的值

时间:2012-09-25 23:15:09

标签: tfs2012

我们升级到TFS 2012并更改了我们的旧版构建模板,以从Activity元素中删除对Microsoft.TeamFoundation名称空间的所有强名称引用。我们现在在构建时遇到以下错误:

C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ TeamBuild \ Microsoft.TeamFoundation.Build.targets(801):“CreateWorkspaceTask”任务未获得所需参数“BuildAgentUri”的值。< / p>

有没有其他人遇到此错误?

2 个答案:

答案 0 :(得分:12)

我刚刚今天早些时候解决了这个问题......

导航并打开: -

  

C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ TeamBuild \ Microsoft.TeamFoundation.Build.targets

找到类似以下内容的部分: -

  

CreateWorkspaceTask             TeamFoundationServerUrl = “$(TeamFoundationServerUrl)”             BuildUri = “$(BuildUri)”             BuildDirectory = “$(BuildDirectory)”             SourcesDirectory = “$(SolutionRoot)”             NAME = “$(工作区名)”             注释= “$(CreateWorkspaceTaskComment)”                         

将其替换为: -

<!-- Create the workspace for this build -->
    <CreateWorkspaceTask
          TeamFoundationServerUrl="$(TeamFoundationServerUrl)"
          BuildUri="$(BuildUri)"
          BuildDirectory="$(BuildDirectory)"
          SourcesDirectory="$(SolutionRoot)"
          Name="$(WorkspaceName)"
          Comment="$(CreateWorkspaceTaskComment)"
          Condition=" '$(ProjectFileVersion)' != '4'">
      <Output TaskParameter="Name" PropertyName="WorkspaceName" />
      <Output TaskParameter="Owner" PropertyName="WorkspaceOwner" />
    </CreateWorkspaceTask>
    <CreateWorkspaceTask
          TeamFoundationServerUrl="$(TeamFoundationServerUrl)"
          BuildUri="$(BuildUri)"
          BuildDirectory="$(BuildDirectory)"
          BuildAgentUri="$(BuildAgentUri)"
          SourcesDirectory="$(SolutionRoot)"
          Name="$(WorkspaceName)"
          Comment="$(CreateWorkspaceTaskComment)"
          Condition=" '$(ProjectFileVersion)' == '4'">
      <Output TaskParameter="Name" PropertyName="WorkspaceName" />
      <Output TaskParameter="Owner" PropertyName="WorkspaceOwner" />
    </CreateWorkspaceTask>

请特别注意文本的大小写,因为这是一个XML文档......

请告诉我这是否有帮助...

干杯!

... CHEV

答案 1 :(得分:6)

我们在其中一台构建计算机上遇到了同样的问题。构建机器一天工作正常,然后停止。唯一的变化是完成了Visual Studio 2010 Service Pack 1的安装。

我们认为可能MSBuild已经推广到以前的版本。

所以我们在另一台构建机器上查看了这个文件,该部分看起来与Chev提供的代码段完全相同。

因此,我们在构建计算机上进入了“程序和功能”,并在TFS 2012安装上进行了修复。这更新了Microsoft.TeamFoundation.Build.targets文件,看起来就像Chev提供的代码片段。

现在构建再次正确运行。