删除

时间:2015-10-24 11:31:36

标签: visual-studio-2013 workspace tfs2015 tfvc

升级后,我无法将我的dev文件夹重新映射到TFS 2015。这就是我所做的:

  • 通过以下方式从TFS 2010迁移到TFS 2015:
  • 备份TFS数据库并将其还原到新服务器(SQL 2014)
  • 安装TFS 2015
  • 运行升级向导

新服务器已替换旧服务器并具有相同的IP地址。我的开发机器是Windows 10企业版,我的用户在管理员组中。 UAC已关闭。

  • 我在VS2013中连接到TFS;然后我转到Team Explorer > Configure Workspace,然后输入包含我的解决方案的文件夹。
  • 我点击了Map & Get,它告诉我:
  

工作文件夹XXXX已被工作区YYYY; MyUser使用   在计算机MyComputer上

  • 我点击Advanced,然后我就可以删除工作区。

但是,当我尝试重新映射同一个文件夹时,我收到相同的消息。

我还使用命令行(tf workspace /delete)删除了工作区;删除似乎有效,因为当我再次尝试删除它时,它告诉我工作空间不存在。

但是,无论我如何重新映射同一个文件夹,工作区都会不断回来。

  • 我还删除了C:\Users\Myuser\AppData\Local\Microsoft\Team Foundation\5.0\Cache

  • 中的缓存
  • 我在实际的TFS数据库中查询了tbl_Workspacetbl_WorkspaceMapping,果然,工作区确实存在。

我怎样才能完全摆脱它?

1 个答案:

答案 0 :(得分:2)

好的,事实证明关键是虽然新服务器的 IP 与旧服务器相同,但名称不同

连接到新TFS后,在Visual Studio团队资源管理器中,我似乎只能访问在新TFS上创建的工作区。

使用tf命令行实用程序,我可以使用其他命令行。例如:

 tf workspaces /owner:OldServerName\Myuser /server:http://ServerIP:8080/tfs/CollectionName

...将列出我在旧服务器上使用的所有工作区。

给出它的线索是我最初指定/owner:MyUser,它告诉我用户规范不明确(我在新服务器上使用与旧服务器相同的用户名)。一旦我使用旧服务器名称对其进行了限定,一切正常。

然后:

tf workspace /delete /collection:http://ServerIP:8080/tfs/CollectionName /login:OldServerName\MyUser workspacename

...导致密码提示。我输入了密码,工作区被删除了。

再次列出它们没有显示已删除的那个,并且底层TFS数据库中的tbl_Workspace上的查询确认工作区确实已经消失。

一旦我以这种方式从旧服务器清除了工作区,我就可以在VS团队资源管理器中创建一个新的工作区并映射我的项目。