【问题标题】:Can't remove workspace from TFS无法从 TFS 中删除工作区
【发布时间】:2012-09-06 21:01:01
【问题描述】:

我想将我的项目从 Visual Studio 2012 添加到我的 TFS 服务器,但它说路径已经映射到工作区 pc;administrator(这是一个本地工作区)。

我试过命令工具tf,但它说没有工作区,所以我不能删除有冲突的工作区。

我正在运行带有 Visual Studio 2012 的 Windows 8。TFS 位于 Windows Server 2012 上。

【问题讨论】:

  • 您是否将本地工作区映射到不同的 TFS 服务器(或 TFS 预览版)?另外,这是团队项目还是本地项目?此项目是否曾与不同的 TFS 服务器相关联?
  • 这是一个新项目,在visual studio中创建。但是我昨天确实创建了一个同名的项目,但我再次删除了该项目。一直在测试 TFS。因此,系统可能认为昨天的项目仍然存在于该文件位置。这就是为什么我需要删除工作区。
  • 您是否从本地工作区中删除了 Windows 资源管理器中的项目?
  • 是的,我刚刚从 Windows 资源管理器中删除了该文件夹。
  • 我不知道在哪里按 ctrl+q?

标签: tfs


【解决方案1】:

问题在于当前项目位置,即物理机上的文件夹,映射到不同的 TFS 服务器。要将其添加到源代码管理,您需要将其移动到与 TFS 服务器无关的物理位置。

编辑 要删除有问题的工作区:

1) 使用“团队”菜单连接到您不想映射到的 TFS 服务器

2) 使用 ctrl+q --> 工作区访问工作区菜单

3) 移除工作区

4) 再次使用“团队”菜单更改您想要映射到的 TFS 服务器

5) ctrl+q --> 工作区

6) 添加新工作区

【讨论】:

  • 是的,正如在聊天中谈到的那样,这行得通。取消映射本地路径以便可以再次使用的解决方案将很有帮助。
  • 感谢@aclear16 的回答。我有一条不同的错误消息,也通过这种方式得到了解决:消息说“找到匹配工作区名称'xxx'和所有者名称'abc'的多个身份。请指定以下工作区规范之一:”后跟工作区列表。我连接到 2 台不同的 TFS 服务器,一台本地服务器和一台远程服务器。问题是我在两个实例中都映射了相同的工作区 xxx。从其中一台 TFS 服务器中删除工作区后,一切正常
【解决方案2】:

尝试这些步骤中的任何一个。其中一些可能不适用于您。

清除“缓存工作区”并删除工作区映射。

  1. 在控制面板 > 用户 > 凭据管理器上 删除指向 TFS 的 Windows 帐户和通用帐户。
    How can I change the default credentials used to connect to Visual Studio Online (TFSPreview) when loading Visual Studio up?

  2. 在 IE 上,删除缓存的密码。
    http://www.jayway.com/2012/12/17/changing-tfs-credentials-in-visual-studio-2012/

  3. 删除存储的用户名/密码:
    http://blogs.msdn.com/b/visualstudioalm/archive/2012/08/29/clearing-the-credentials-for-connecting-to-a-team-foundation-server.aspx

    rundll32.exe keymgr.dll,KRShowKeyMgr

  4. 删除工作区。在 VS2012 命令行上,运行以下命令:

    tf.exe 工作区 /delete 工作区名称;所有者 /server:服务器地址
    http://mycomputeradventures.blogspot.com/2012/01/removing-tfs-workspaces-from-old-users.html

  5. 清除缓存的工作区映射。在 VS2012 命令行上,运行以下命令:

    tf.exe 工作区 /remove:*(或 /s:http//oldserver:8080)
    http://blogs.msdn.com/b/buckh/archive/2006/09/12/path-is-already-mapped-in-workspace.aspx

【讨论】:

    【解决方案3】:

    好吧,我找不到麻烦的工作区,这促使我将本地代码文件夹复制到另一个名称,然后我创建了一个映射该文件夹的新工作区。

    接下来,我通过 VS 2012 使用 Add Source Control 将新解决方案添加到 TFS。

    【讨论】:

      【解决方案4】:

      执行此操作的最简单方法是转到您的 AppData 并删除 TFS 缓存(取决于版本 3.0 或 4.0)

      C:\Users{用户名}\AppData\Local\Microsoft\Team Foundation\3.0\Cache 要么 C:\Users{用户名}\AppData\Local\Microsoft\Team Foundation\4.0\Cache

      【讨论】:

      • 谢谢...我尝试了从 Visual Studio 到 TF.EXE 的所有方法 - 但没有任何效果。做到了!
      【解决方案5】:

      如果你使用 Visual Studio 2012 去

      C:\Users{UserName}\AppData\Local\Microsoft\Team Foundation\4.0\Cache

      或者如果是 Visual Studio 2013 去

      C:\Users{UserName}\AppData\Local\Microsoft\Team Foundation\5.0\Cache 
      

      删除它下面的所有东西。

      【讨论】:

      • 不起作用,当您启动 Visual Studio 2010 时,它会重新生成映射和工作区。
      【解决方案6】:
      1. 首先,我们将从 VS 2015 Developer 命令提示符中检查工作区列表,

        Ex - tf 工作区 /owner:*

      2. 现在我们将从 VS 2017 Developer 命令提示符中获取 xml 格式,其中将包含特定工作区的“所有者 ID”,

        示例 1 - tf.exe 工作区 /owner:* /computer:ComputerName /collection:https://YOUR-TFS-URL.visualstudio.com/format:xml

      3. 我们现在可以删除特定用户的工作区,

        示例 1- Tf 工作区 /delete ComputerName;email@email.com /服务器:“https://URL.visualstudio.com

        示例 2 - Tf 工作区 /delete ComputerName;1e178c77-bb8b-6f05-bf99
        /服务器:https://URL.visualstudio.com

        (其中 1e178c77-bb8b-6f05-bf99 是您从步骤 2 XML 获得的工作空间的 ID 格式)

      4. 我们将从 VS 2015 Developer 命令提示符再次检查工作区列表,

        Ex - tf 工作区 /owner:*

      【讨论】:

        猜你喜欢
        • 2016-11-02
        • 1970-01-01
        • 2013-03-24
        • 2018-02-06
        • 2017-02-20
        • 1970-01-01
        • 1970-01-01
        • 2014-09-17
        • 2015-06-30
        相关资源
        最近更新 更多