我使用的是TFS 2013 Build Server。
获得以下错误 例外消息:无法创建工作区''由于映射冲突。您可能需要手动删除旧工作区。您可以使用命令“计算机工作空间/计算机:%COMPUTERNAME%'”在计算机上获取工作空间列表。 详细信息:路径F:\ GDC \ Bin已映射到工作区''。 (类型MappingConflictException)
我有多个构建定义,它引用了常见的二进制文件夹
Source Setting for Build definition BD1
Source Control Folder Build Agentfolder
$/Common F:\GDC\Bin
$/Project1 $(SourceDir)
Source Setting for Build defination BD2
Source Control Folder Build Agentfolder
$/Common F:\GDC\Bin
$/Project2 $(SourceDir)
Source Setting for Build definition BD3
Source Control Folder Build Agentfolder
$/Common F:\GDC\Bin
$/Project3 $(SourceDir)
答案 0 :(得分:8)
当您在构建服务器上发生工作区冲突时,会发生这种情况(如错误所示)。工作区在TFS数据库中保存为配置值,因此冲突可能由以下原因引起:
$(sourcedir)
宏
更详细信息在this article
中说明将构建定义重命名为唯一的。
答案 1 :(得分:1)
我是这样做的:
首先,尝试列出相关服务器上的工作区。我尝试了Visual Studio UI和命令提示符:tf workspaces / computer:。 “例外”消息中提到的工作区未显示在列表中。
从http://www.attrice.info/downloads/下载并安装了Team Foundation Sidekicks
当应用安装,打开并连接到tfs服务器时。
从下拉列表中选择计算机名称,从下拉列表中清除所有者名称(非常重要!)下拉列表,并将上次访问日期更改为几年前的日期。
点击搜索按钮。出现了工作区列表。 这次我可以看到“异常”消息中提到的工作区。
选择“例外”消息中提到的工作区,然后单击“删除”按钮。
看来当我登录构建服务器并询问工作区列表时,tfs只显示我所属的工作区。构建进程创建的临时工作空间未分配给我,因此我无法看到它们。 Team Foundation Sidekicks 2015确实向我展示了所有的工作空间。
注意:我在本练习中使用了 TFS2015 。
答案 2 :(得分:0)
所以你有一个工作区冲突。 解决此问题的最简单方法是删除工作区并重新进行修复。
您需要使用TF工具。
TF /工作区/删除....
有一个TFS sidekicks工具,应该能够通过GUI为您完成此任务。
答案 3 :(得分:0)
原因是(对我而言)我克隆了构建定义。所以每个" Build Agend Folder"在“源设置”中指向同一目标文件夹。
解决方案是将Build Agent文件夹更改为每个版本的特殊内容。 例如$(SourceDir)\ PROJECT1 $(SourceDir)\ project2等
答案 4 :(得分:0)
我遇到了同样的问题。我的解决方案是在编辑构建定义>源设置,构建代理文件夹没有$(SourceDir)
的前缀,而是我本地计算机上的完整路径。
我将路径更改为以$(SourceDir
为前缀,我的问题已解决。
答案 5 :(得分:-1)
我已重命名构建定义名称,并且它开始工作。