错误 MSB4064:"WorkspaceItemConverterTask" 任务不支持 "BuildAgentUri" 参数

error MSB4064: The "BuildAgentUri" parameter is not supported by the "WorkspaceItemConverterTask" task

今天,我 运行 在我们的构建机器上 Visual Studio 2013 进行了一些更新

这样做之后,我们注意到一堆 TypeScript 文件被删除,结果测试构建失败。我们重新安装了 TypeScript,问题解决了。

然后我们开始在 Team Build 方面遇到问题,如下所示:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets - 2 error(s), 0 warning(s), View Log File C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets > (1704): The "BuildAgentUri" parameter is not supported by the "GenCheckinNotesUpdateWorkItems" task. Verify the parameter exists on the task, and it is a settable public instance property.

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets (1701): The "GenCheckinNotesUpdateWorkItems" task could not be initialized with its input parameters.

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets > (1791): The "BuildAgentUri" parameter is not supported by the "WorkspaceItemConverterTask" task. Verify the parameter exists on the task, and it is a settable public instance property.

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets (1701): The "GenCheckinNotesUpdateWorkItems" task could not be initialized with its input parameters.

正在设置 BuildAgentUri 参数,并且确实在该行中被访问。我确实找到了一些与此问题相关的帖子,包括以下内容:

https://connect.microsoft.com/VisualStudio/feedback/details/765469/build-fails-with-error-on-createworkspacetask-and-missing-parameter-buildagenturi

我们在构建机器上有多个 Microsoft.TeamFoundation.Build.Workflow.dll 版本(v10.0.0 和 v12.0.0),因此我们尝试从 GAC 中删除版本 10.0.0;然而,这导致了以下参考问题:

TF209001: An error occurred while processing Error event for C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets: Could not load file or assembly 'Microsoft.TeamFoundation.Build.Workflow, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified..

我在 .xaml 工作流模板中查找了对版本 10.0.0 的引用,但我就是找不到。我还查看了我们的 Microsoft.TeamFoundation.Build.targets 文件,它似乎没有被错误地重新格式化或组织,正如 Whosebug 上的另一位海报所建议的那样。

总的来说,我对一个相对小规模的更新是如何导致这种情况感到非常困惑。我应该将 Build.Workflow.dll 的 10.0.0 版本添加回 GAC 并尝试解决最初的问题,还是应该尝试解决在我们删除版本 10.0.0 时出现的第二个问题?

任何帮助将不胜感激,谢谢!

首先,我认为从 GAC 卸载版本 10.0.0 Microsoft.TeamFoundation.Build.Workflow.dll 不是一个好主意。

其次,我发现很多其他社区成员都遇到了与您类似的错误,并且通过重新安装TFS 解决了该问题。详情请查看此 link 中的答案:http://www.developerblogger.com/1198_12609329/

这是通过删除 BuildAgentUri 作为 Microsoft.TeamFoundation.Build.targets 文件中所有任务(GenCheckinNotesUpdateWorkItems、WorkspaceItemConverterTask 等)的参数来解决的。我第一次浏览它时错过了一个参考。我猜任务派生自的程序集版本 (Microsoft.TeamFoundation.Build.ProcessComponents.dll) 没有将 BuildAgentUri 作为定义的参数?对于我们的构建配置,我还必须解决一些其他问题,但对于大多数人来说,这应该足够了。