【问题标题】:TFS Workspace mapping conflict [duplicate]TFS 工作区映射冲突 [重复]
【发布时间】:2013-10-28 14:21:28
【问题描述】:

被问了很多,两天来,我试图解决,但没有成功。我在 Win7 上运行 TFS 2012 Express。我在那台机器上安装了 VS Express 版本。我可以正常入住。我正在尝试建立一个持续集成构建。

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

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

详细信息:路径 C:\Builds\Finance 已映射到工作区 1_1_服务器。 (类型 MappingConflictException)

(不确定它从哪里获得“C:\Builds\Finance”......)

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

看起来不错,不是吗?

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

d:\Builds\$(BuildAgentId)\$(BuildDefinitionPath)

我不确定冲突在哪里。

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

有人可以帮忙吗?

【问题讨论】:

    标签: tfs continuous-integration tfsbuild


    【解决方案1】:

    安装免费工具Team Foundation Sidekicks,并使用它通过Tools > Workspace Sidekick 删除构建服务器的所有工作区(即在工作区搜索结果的 Computer 列)。 (别担心;TFS 构建会重新创建它们):

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

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

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

    【讨论】:

    • 给 Sidekicks 一个空白的“所有者名称”以搜索所有所有者。对于需要删除的工作区,我的所有者名称最终是“TFS2012 服务”。
    猜你喜欢
    • 2014-10-15
    • 2018-11-21
    • 2013-03-24
    • 2021-04-23
    • 1970-01-01
    • 2016-04-20
    • 2011-06-05
    • 2020-06-27
    • 2013-07-01
    相关资源
    最近更新 更多