【问题标题】:error MSB4064: The "BuildAgentUri" parameter is not supported by the "WorkspaceItemConverterTask" task错误 MSB4064:“WorkspaceItemConverterTask”任务不支持“BuildAgentUri”参数
【发布时间】:2015-10-27 15:28:29
【问题描述】:

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

  • Visual Studio 2013 更新 5
  • 适用于 Visual Studio 的 NuGet 包管理器 (2.8.60723.765)
  • [*我们目前没有安装任何其他版本的 Visual Studio]

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

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

C:\程序文件 (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets - 2 个错误,0 个警告,查看日志文件 C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets > (1704):“BuildAgentUri”参数不受 “GenCheckinNotesUpdateWorkItems”任务。验证参数是否存在于 任务,它是一个可设置的公共实例属性。

C:\程序文件 (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets (1701):“GenCheckinNotesUpdateWorkItems”任务不能 用它的输入参数初始化。

C:\程序文件 (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets > (1791):“BuildAgentUri”参数不受 “WorkspaceItemConverterTask”任务。验证参数是否存在于 任务,它是一个可设置的公共实例属性。

C:\程序文件 (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets (1701):“GenCheckinNotesUpdateWorkItems”任务不能 用它的输入参数初始化。

正在设置 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:处理错误事件时发生错误 C:\程序文件 (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets: 无法加载文件或程序集 'Microsoft.TeamFoundation.Build.Workflow,版本=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' 或其之一 依赖关系。 系统找不到指定的文件..

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

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

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

【问题讨论】:

  • 您使用的是较旧的构建过程模板吗?
  • 我不这么认为,因为流程模板中的命名空间声明都没有 version=10.0.0 并且当我转到“Arguments”>“ArgumentType”>“Browse for other Types”时,所有相关类型都没有 10.0.0 版本。 (它们都是 12.0.0。)我需要检查其他方法吗?

标签: visual-studio visual-studio-2012 visual-studio-2013 tfs msbuild


【解决方案1】:

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

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

【讨论】:

  • 是的,我看过那篇帖子,但事实并非如此 - Microsoft.TeamFoundation.Build.targets 中提到的部分没有被更新修改。在一个小的 VS 升级之后必须卸载并重新安装 TFS 似乎很奇怪。无论如何,我已经找到了解决方案。
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-11
    • 2019-08-20
    • 1970-01-01
    • 2012-09-17
    • 1970-01-01
    相关资源
    最近更新 更多