6

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

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

由于映射冲突,无法创建工作区“2_1_Server”。您可能需要手动删除旧工作区。您可以使用命令 'tf workspaces /computer:%COMPUTERNAME%' 获取计算机上的工作区列表。

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

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

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

在此处输入图像描述

这看起来不错,不是吗?

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

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

我不确定冲突在哪里。

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

有人可以帮忙吗?

4

1 回答 1

13

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

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

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

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

于 2013-10-19T22:40:57.770 回答