TFS工作区映射冲突

时间:2013-10-19 22:07:07

标签: tfs continuous-integration tfs2012 tfsbuild

已经被问了很多,并且在2天内,我试图解决,但没有成功。我在Win7上运行TFS 2012 Express。我在那台机器上安装了VS Express版本。我可以办理入住手续。我正在尝试建立持续集成构建。

但是,当我在构建服务器上强制构建时,我收到以下错误:

  

由于映射冲突,无法创建工作区'2_1_Server'。   您可能需要手动删除旧工作区。你可以得到一份清单   使用命令'tf workspaces在计算机上的工作空间   /计算机:%COMPUTERNAME%”

     

详细信息:路径C:\ Builds \ Finance已在工作区中映射   1_1_Server。 (类型MappingConflictException)

(不知道从哪里得到“C:\ Builds \ Finance”)

然后我尝试在我的开发机器上说它,它会询问我在构建服务器上的登录凭据。我输入它们,它告诉我:

enter image description here

看起来很好,不是吗?

在服务器上,我检查Build Agent工作文件夹:

  

d:\构建\ $(BuildAgentId)\ $(BuildDefinitionPath)

我不确定冲突在哪里。

有趣的是,如果我在同一台服务器上加载一个不同的团队项目,它就会构建。我刚刚为这个项目创建了一个构建定义,它似乎成功构建了。我认为它与构建定义有关,因为这些项目是从另一个TFS服务器移动的......

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:13)

安装免费工具Team Foundation Sidekicks,并使用它通过工具>删除构建服务器的任何工作区。 Workspace Sidekick (即在工作区搜索结果' 计算机列中使用您的构建服务器名称)。 (别担心; TFS构建会重新创建它们):

然后去删除构建服务器上d:\builds下的所有内容。

然后通过在Source Settings选项卡下编辑每个构建def来检查工作区映射,并确保它们使用$(SourceDir)作为定义的每个映射的路径的一部分。

如果构建的路径是硬编码的,而不是使用$(SourceDir)令牌作为根,那么它可能会解释您所看到的行为。