TFS构建服务器重复工作区

时间:2016-03-25 16:04:08

标签: msbuild tfs2013 windows-server-2012-r2

Exception Message: Unable to create the workspace '9_20_NAME' 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 D:\Builds\NAME is already mapped in workspace 9_22_NAME. (type MappingConflictException)
Exception Stack Trace:    at Microsoft.TeamFoundation.Build.Workflow.Activities.TfCreateWorkspace.Execute(CodeActivityContext context)
at System.Activities.CodeActivity`1.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager)
at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation)

所以上面一直困扰着我一个多星期,表面上看起来似乎是一个简单的问题,删除或重命名工作区并继续前进。然而,这个问题不容易改变。

总之,我尝试了以下内容:

  • 清除工作区
  • 创建新的构建定义
  • 移动了构建文件夹位置(例如D:\ builds \ name到D:\ builds \ name-2)
  • 构建机器重启
  • 卸载/重新安装TFS(2013年更新3)
  • 重建构建计算机并恢复TFS数据库

我已经将问题缩小到TFS内部的某些内容,但是为了所有善意,我无法找到答案。

值得注意的是,当我删除工作区时(使用TFS sidekicks),构建将运行几次。我没有缩小究竟是什么导致从成功变为失败,但是我可以删除所有工作区然后运行构建几次没有问题然后突然这将会回来(在不断重复之前大约2-3个构建失败)。

2 个答案:

答案 0 :(得分:0)

您需要转到构建计算机,搜索使用相同构建定义名称的旧工作区,然后删除该工作区,以便构建可以再次创建具有相同名称的新工作区。查看此博客:https://mohamedradwan.wordpress.com/2015/08/25/unable-to-create-the-workspace-due-to-a-mapping-conflict/

此外,尝试将您的构建定义重命名为独特的内容,以查看是否可以解决此问题。 http://blog.casavian.eu/2014/04/02/build-workspace-issue/

答案 1 :(得分:0)

我的解决方案是编辑我的构建定义>来源设置>构建代理文件夹并将其从硬编码值更改为$(SourceDir)。

一位团队成员向我指出了这个答案,但我没有明白为什么这种设置会导致这种行为。