如何删除TFS工作区映射?

我在一个团队项目的tfs中有一个项目,然后我们将项目移动到另一个团队项目的不同位置。

我已经configurationJenkins连接到团队项目,并构build我的解决scheme,但是当我更改设置连接到新的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.net:8080/tfs/newteamproject ******** The path D:\jenkins\jobs\ProjectName1-Build\workspace is already mapped in workspace Hudson-ProjectName1-Build-MASTER [http://domain.net:8080/tfs/oldteamproject]. 

所以上面显示有一个现有的工作区,所以我运行下面的命令来删除它

 tf workspace -delete Hudson-ProjectName1-Build-MASTER;domain1\username1 -noprompt -server:http://domain.net:8080/tfs/oldteamproject 

并提示工作区已被删除,但我仍然得到相同的错误。

我也通过运行下面的命令来检查映射是否已被删除:

 tf workspace -server:http://domain.net:8080/tfs/oldteamproject Hudson-ProjectName1-Build-MASTER 

但它表示工作空间并不像预期的那样存在。

所以,我认为这可能是caching在某处,并运行下面的命令:

 tf workspaces /remove:* /collection:http://domain.net:8080/tfs/oldteamproject 

它说:“没有工作区在caching匹配*从服务器http://domain.net:8080/tfs/oldteamproject ”

所以我猜测它甚至没有被caching。

那么是什么原因导致错误以及如何解决?

从VS:

  1. 打开Team Explorer
  2. 点击源代码pipe理资源
  3. 在工具窗口的导航栏中有一个标有“工作区”的下拉菜单。
  4. 扩展它,并点击“工作区…”选项(是的,有点不直观)
  5. “pipe理工作区”窗口出现。 点击编辑,您可以添加/删除/编辑您的工作区

源代码管理器

从VS在另一台机器上

您不需要VS与登记在同一台机器上,因为您可以编辑远程登记! 在按下“Workspaces …”项目时出现的对话框中,出现一个checkbox,显示“显示远程工作区” – 只需勾选该对话框,即可得到所有征募列表:

显示远程工作区

从命令行

从开发人员命令提示符处调用“tf workspace”。 它会直接提出“pipe理工作空间”!

我遇到了同样的问题,并能够通过手动删除位于此处的TFScaching中的所有文件来修复它。

 %LocalAppData%\Microsoft\Team Foundation\3.0\Cache 

或者4.0

请按照以下步骤从TFS中删除映射:

  1. 打开team explorer
  2. 点击Source Control
  3. 右键点击你的project
  4. 点击Remove Mapping

错误是真的。 您可能已经在不同的机器上创build了具有相同名称的工作区。 现在你可能已经改变了具有不同机器名称的机器。

所以这里是解决方法,肯定会工作。以下是解决方法。

  1. 转到“Team-Explorer”
  2. 转到“源代码控制”
  3. 转到工作区下拉菜单
  4. 点击“工作区…”
  5. 将出现一个popup窗口
  6. 点击“显示远程工作区”
  7. 现在删除冲突的工作空间,然后继续工作。

请按照以下步骤操作:

 Ctrl + Run 

复制和过去

 %LocalAppData%\Microsoft\Team Foundation 

你会得到不同版本的TFS例如 在这里输入图像说明

点击每个文件夹,你会得到

在这里输入图像说明

现在删除这些文件夹中的所有数据。

重新打开Visual Studio。

谢谢。

我设法使用/ newowner命令移除映射,如下所示:

如何重新获得对Team Foundation Server工作区的访问权限?

该命令打开了一个编辑工作区的窗口,我删除了映射。 之后,我删除了我不需要的工作区。

我正在使用TFS 2012.我尝试了所有build议在线:删除caching文件夹,使用工作区下拉菜单,工作区/删除:*,从控制面板,IE等清除凭据

没有任何工作,我相信我的工作空间不知何故被损坏。 最后,我去了TFS数据库并运行以下查询。 这工作! 当弄乱数据库 ,备份等等 ,当然要非常小心

数据库被称为Tfs _ << your_TFS_collection_name >> 。 忽略Tfs_Configuration MSSQL数据库。 我不确定,但如果您没有Tfs _ << your_TFS_collection_name >>数据库,则设置可能位于Tfs_DefaultCollection数据库中。 映射存储在tbl_WorkingFolder.LocalItem中

 /*Find correct workspace*/ SELECT WorkspaceId, * FROM tbl_Workspace ORDER BY WorkspaceName /*View the existing mapping*/ SELECT LocalItem, * FROM tbl_WorkingFolder WHERE WorkspaceId = <<WorkspaceId from above>> /*Update mapping*/ UPDATE tbl_WorkingFolder SET LocalItem = 'D:\Legacy' WHERE WorkspaceId = <<WorkspaceId from above>> /*LocalItem = NULL might work too but I haven't tried it*/ 

这里的答案都没有删除我的工作区。 但是这里有一个解决scheme可以为你工作。

  1. 打开一个Visual Studio命令提示符
  2. 先closuresVisual Studio,或者删除命令不能删除工作区
  3. 列出工作区命令 – > tf /? 从TFS版本中find可用的命令。
  4. 列出工作区 – > tf工作区
  5. 删除工作区 – > tf工作区YourWorkspace /删除

您不必删除整个Cache文件夹。 您将失去所有设置/首选项工作区映射存储在名为“

在用户本地设置/应用程序数据目录下的VersionControl.config 。 位于这里在Windows 7中:

%LocalAppData%\ Microsoft \ Team Foundation \ x.0 \ Cache \ Volatile

其中x = 3.0,4.0,5.0,6.0等

在这里面,你会发现guid命名的文件夹,打开每个文件夹,手动编辑前面提到的文件,从本地文件夹删除工作区映射(目录path将出现在mappedpaths属性中)到TFS服务器(不再使用)。

最后删除所有的工作空间,并从头开始。 固定。

我被提示通过Visual Studiologin到我们的TFS服务器,所以我使用了我的SU帐户,这通常是服务器访问所需的。 这导致了一些问题,我最终映射到一个不同的文件夹,没有意识到我刚刚重复了所有的东西。 在某些时候,Visual Studio恢复到了我的常规用户,我“失去了”挂起的更改,并注意到新的挂起的更改被放置在我的旧映射中。

当我尝试重新映射到新的位置(即SU帐户被链接到)以试图恢复我的挂起的更改时,它会告诉我它已经映射到SU,并且我不能那样做,但是没有办法去除地图! 显示远程工作区,通过命令行删除所有工作区等没有任何显示。 然后,我想“如果它实际上链接到我的计算机上的SU用户帐户,而不是域。 我在本地以我的SU身份login,果然,该用户有一个工作区。 我删除了映射,并能够回到我的常规用户,并重新映射没有问题。

这个故事的寓意,可能是另一个用户login在同一台机器上,这是从当前login的用户不可见,因此你不能删除,甚至看不到映射。

您也可以通过简单地编辑.sln文件并删除tfs绑定的GlobalSection元素来删除tfs映射。

谢谢你的帮助!

查找问题工作区 SELECT * FROM tbl_Workspace WHERE WorkspaceName like'%xxxxx%'

查找所需的工作空间 SELECT * FROM tbl_Workspace WHERE WorkspaceName like'%zzzzz%'

select编辑顶部200 tbl_WorkingFolder然后find问题映射 SELECT * FROM tbl_WorkingFolder WHERE WorkspaceId = 从上面的问题WorkspaceId

将WorkspaceId更改为所需的WorkspaceId

最后转到Project Explorer并在项目上selectRemove Mapping

修改VB6 MSSCCPRJ.SCC以匹配所需的工作台

首先下载并安装团队资源pipe理器插件到您的系统,然后去源代码pipe理资源pipe理器。 在导航窗格中find“工作空间”字段,然后单击“工作空间”选项。 单击工作区选项后,您将看到所有映射的工作区。 点击删除button,删除所需工作区的映射。