2012-02-15 30 views
6

我目前在SERVER-1上运行TFS 2010 Server。在我的客户端(MY-CLIENT)上,我运行了VS2010,并有一个工作空间将SERVER-1与\ MY-CLIENT \ Development相关联。一切都很好。当TFS服务器不再存在时,如何强制删除客户机上的TFS 2010工作区?

我当时在SERVER-2上设置了一个不同的TFS实例。在我的客户机上,我删除了原始的SERVER-1工作区,并创建了一个将SERVER-2与\ MY-CLIENT \ Development相关联的新工作区。一切都很好。

在SERVER-2上完成了TFS的实验后,我重新映像了计算机(删除SERVER-2上的TFS服务器)。

然后我回到我的客户机,重新连接到SERVER-1上的TFS,并尝试将源代码控制重新映射到我的Development文件夹。但是,我现在收到错误“路径\ MY-CLIENT \ Development已映射到工作空间MY-CLIENT; SERVER-2 \ Steve中。”现在我有一个问题。

所以,我从中得知,在重新映像机器之前,我应该先删除SERVER-2工作区。不幸的是,我没有那样做。

在一些论坛上闲逛,我知道我可以使用命令行工具来也许删除:

tf workspace /delete MY-CLIENT;SERVER-2\Steve 

然而,当我运行它,我得到一个消息,表明“团队基础服务不能从服务器http://SERVER-2:8080/tfs/development

所以问题的话,就是我怎么强制服务器-2的工作区的删除我的客户端上,这样我可以重新创建我的旧服务器-1的工作空间?

回答

16

所有本地工作区的工作文件夹映射都存储在版本控制缓存文件中。这允许您引导TFS客户端,允许他们查找给定本地文件夹的服务器信息。此外,它还会提供您所看到的测试信息,以防止将本地文件夹映射到两台不同的服务器。

为了清理它(不试图连接到服务器),你可以使用tf workspaces命令(注意多元化 - 在workspaces命令工作区的名单上工作时,workspace命令上一个工作。工作区,一般需要连接到该工作区位于服务器

要删除您删除的项目集合所有的工作区,你可以这样做:

tf workspaces /remove:* /collection:http://server-2:8080/tfs/DefaultCollection 

(显然用您的已删除服务器的URI替换项目集合URI)

-2

delete命令中的参数workspaceowner是可选的。你能否在没有这个参数的情况下发出删除命令,否则会损坏另一个MY-CLIENT工作区?

+0

它仍会尝试联系(现已停用的)服务器以从服务器删除工作区。 – 2012-02-15 20:02:15

1

我有完全相同的问题:将TFS服务器移动到另一台机器后,我无法映射到VS2012中的本地文件夹因为它仍旧与TFS否认所有存在的旧工作空间相关联。几个小时(或几天),谷歌搜索和尝试不同的东西,没有一个工作(包括所有的“TF”命令,删除本地缓存等)后,这是怎么了我最终解决了它:

  1. 编辑使用SQL管理Studio Express的(如“Tfs_DefaultCollection”)
  2. 寻找“dbo.tbl_Workspace”表并进行编辑的TFS服务器上实际TFS收集数据库
  3. 你应该可以看到你的“鬼”的工作空间(S)在这里
  4. 删除行
  5. 全世界都在正确
相关问题