【发布时间】: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 参数,并且确实在该行中被访问。我确实找到了一些与此问题相关的帖子,包括以下内容:
我们在构建机器上有多个版本的 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