团队构建期间TFS 2013工作区映射错误

时间:2014-04-30 12:58:36

标签: tfs tfsbuild tfs2013

当我们使用tfs 2013进行团队构建时,偶尔会出现以下错误:

Exception Message: Unable to create the workspace '41_9_UKBOLTFS6' due to a mapping conflict. You may need to manually delete an old workspace. You can get a list of workspaces on a computer with the command 'tf workspaces /computer:%COMPUTERNAME%'. 
Details: The path C:\xxx\xxx\xxx is already mapped in workspace 41_9_UKBOLTFS6. (type MappingConflictException)

如果我们启动一个新的构建它可能会成功,如果不是我们再试一次,最终它没有任何变化。

我已经看到在stackoverflow上发布了非常相似的问题,但是在它抱怨的工作空间是相同的'41_9_UKBOLTFS6'。

我们从TFS2010迁移了大部分版本,但并非全部,我们之前从未遇到此问题。

有谁知道发生了什么事?

3 个答案:

答案 0 :(得分:3)

当您在构建服务器上发生工作区冲突时,会发生这种情况(如错误所示)。工作区在TFS数据库中保存为配置值,因此冲突可能由以下原因引起:

  • 您已创建了一个与之前构建定义同名的新构建定义。
  • 工作区名称的某些部分(或项目中的工件)超过260个字符
  • 构建定义未在系统设置标签
  • 中使用$(sourcedir)

更详细信息在this article

中说明

可能的解决方法:

将构建定义重命名为唯一的。

答案 1 :(得分:0)

看起来您有多个团队构建映射到同一本地目录。确保所有代理中的工作目录都是唯一的,并且构建定义的工作空间设置中没有绝对路径

答案 2 :(得分:-1)

我已经解决了这个问题并在没有重命名构建定义的情况下发表了关于我的解决方案的博客。请在此处查看:https://christiaanmolendijk.nl/2016/05/23/before-stressing-out-tfs-cache-folder-on-build-server/

链接摘要:

  1. 转到缓存文件夹:{userprofile}\AppData\Local\Microsoft\Team Foundation\{version}\Cache
  2. 在易失性文件夹
  3. 中编辑文件VersionControl.config
  4. 然后返回{userprofile}\AppData\Local\Microsoft\Team Foundation\{version}\Cache的缓存文件夹,删除名称为GUID的文件夹。