【发布时间】:2013-03-24 22:31:57
【问题描述】:
我在一个团队项目中的 tfs 中有一个项目,然后我们将该项目移动到另一个团队项目中的不同位置。
我已将 Jenkins 配置为连接到团队项目并构建我的解决方案,但是当我更改设置以连接到新的 tfs 团队项目时,出现以下错误:
[workspace] $ "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe" workspace -new Hudson-ProjectName1-Build-MASTER;domain1\username1 -noprompt -server:http://domain-eg.net:8080/tfs/newteamproject ********
The path D:\jenkins\jobs\ProjectName1-Build\workspace is already mapped in workspace Hudson-ProjectName1-Build-MASTER [http://domain-eg.net:8080/tfs/oldteamproject].
所以上面显示有一个现有的工作区,所以我运行下面的命令来删除它
tf workspace -delete Hudson-ProjectName1-Build-MASTER;domain1\username1 -noprompt -server:http://domain-eg.net:8080/tfs/oldteamproject
它提示工作区已被删除,但我仍然收到同样的错误。
我还通过运行以下命令检查了映射是否已被删除:
tf workspace -server:http://domain-eg.net:8080/tfs/oldteamproject Hudson-ProjectName1-Build-MASTER
但它说工作区并不像预期的那样存在。
所以,我认为它可能在某处缓存它并运行以下命令:
tf workspaces /remove:* /collection:http://domain-eg.net:8080/tfs/oldteamproject
它说“缓存中没有工作区匹配*来自服务器http://domain-eg.net:8080/tfs/oldteamproject”
所以我猜它甚至没有被缓存。
那么是什么导致了错误以及如何解决呢?
【问题讨论】:
-
TFS 工作区必须包含唯一的工作文件夹映射每台机器,而不仅仅是每个用户和机器。是否可以在测试时设置一个包含
D:\jenkins\jobs\ProjectName1-Build\workspace的 TFS 工作区作为另一个 TFS 用户? -
从构建机器试试这个 - C:\Users\{UserName}\AppData\Local\Microsoft\Team Foundation\3.0\Cache 并删除文件夹中的所有内容
-
遇到了同样的问题,我的情况是工作区名称开头有一个空格
-
我最近重新映射了我的 TFS 根目录并遇到了同样的问题。在我的情况下,TFS 资源管理器只是显示了我在“本地路径:”中签出的旧(最后一个)路径,它是灰色的并且不可点击(蓝色)。我做了一个最新的,它把所有东西都放在正确的新映射中,然后路径变成蓝色/活动。如果您删除了所有旧映射,它可能只是显示您最近访问的最后一个本地文件夹,而不是将文件放在新映射下的位置。