TFS 2012:硬盘格式化后,工作文件夹已在使用中。

25

我查阅了很多论坛,还看了这个问题,但我的问题在于我已经格式化了我的电脑,所以我无法解决这个问题。我尝试从Visual Studio命令提示符中删除工作区并清除缓存,但我感觉这种映射更多是存在服务器端而不是本地缓存中,因为我的电脑已经格式化了。我不知道哪个文件保存了旧的工作路径。

另外,我尝试将项目下载到新的工作路径中。我能够下载,但是每个文件旁边都没有TFS图标。 即它像是离线工作(与TFS数据库分离)。 右键单击时,我们通常有一个选项可以返回在线或转换为在线状态。 在这种情况下,右键单击后我得到TEAM -> 应用补丁和TEAM -> 共享项目

请帮助我解决这个问题。当我将我的asp.net项目简单地下载到新的工作路径中时,我的问题相同,在那种情况下它正常工作。 但是这个Java项目在eclipse中似乎无法连接到TFS,当它被下载到新路径时也不能在旧路径中进行下载。

请注意,我已经格式化了电脑。因此,我的情况不同,这可能不是其他SO问题的重复。

在格式化之前,我没有断开或删除工作区(由于缺乏知识)在那时。也许做那件事永远不会导致这种情况。我只是检查了所有文件并重新格式化了我的Windows。


请注意,我已经格式化了机器。 - greybeard
8个回答

30
我建议使用(免费)工具TFS Sidekicks:http://www.attrice.info/cm/tfs/。它将为您提供GUI以查看所有工作区(跨所有用户和计算机),并删除过时的工作区。enter image description here

为此,我将不得不告诉我的公司购买配套设备,对吧? - Pavitar
1
使用TFS Sidekicks解决了我的问题,我删除了所有的工作文件夹和它们的工作区 :) 有了UI界面,这就容易多了。 - Pavitar
3
尝试运行它,但出现错误提示“应用程序无法读取注册表”。 - Jared Thirsk
我尝试了这个,但它无法在当前机器上找到一个工作区,因为使用了不同的用户名。 - Matt Wilko
真的救了我..谢谢 - Joe.wang

11

这些内容存储在服务器上,但是tf workspace命令应该能够帮您删除它。 您可能需要提供正确的机器名称才能找到它:

tf workspaces /computer:* /owner:domain\jesse.houwing /collection:http://yourserver:8080/tfs/DefaultCollection

找到丢失的工作区(格式化的工作区)并从服务器中删除它:

tf workspace /delete /collection:http://yourserver:8080/tfs/DefaultCollection workspaceName;domain\jesse.houwing

不要混淆tf workspaces /removetf workspace /delete,前者只从您的计算机中删除注册信息,后者从服务器中删除。

或者,如果计算机名称和用户名保持不变,则通过更改工作区配置编辑工作区并删除不再有效的路径(或将其更新为新位置)。使用

tf workspace workspaceName;Owner

打开对话框以编辑当前工作区。

或使用

tf workspaces /updateComputerName /updateUserName

将工作区从旧计算机(iinstallation)或用户重新分配到新计算机。


嗨,我能看到一个工作区,但是在那个工作区中有多个项目。如果删除它,是否会删除所有映射? - Pavitar
是的,它将删除该工作区中所有映射的文件夹。 - jessehouwing
如果我想要删除一些(或仅一个)该怎么办?因为删除所有内容都需要重新映射所有项目路径。这将是一项繁琐的任务。 - Pavitar
嘿@jessehouwing,我删除了工作区并费力地将所有项目重新映射到新的工作文件夹。然而,这并没有解决我的Eclipse Android项目问题:( - Pavitar
你能提供更多关于你安装的东西的信息吗?我怀疑你安装了Team Explorer Everywhere(哪个版本)、Eclipse(哪个版本)和Android Studio(哪个版本)。当从CLC http://msdn.microsoft.com/en-us/library/gg490833.aspx执行上述命令时,你能展示一下输出结果吗? - jessehouwing
你的回答也很有帮助,但使用辅助程序解决了问题。很抱歉我没有关于安装哪个版本的详细信息,并且也没有深入了解所有这些,因为这是由我们公司的软件管理员处理的。 - Pavitar

5

我尝试使用TFS Sidekick工具,但仍然遇到了访问被拒绝的错误。然后我不得不手动清除此路径下的文件:

C:\ProgramData\Microsoft Team Foundation Local Workspaces

如果您不想安装工具或者由于政策原因,公司不允许您在笔记本电脑上安装来自未知来源的软件,那么这种方法可以作为替代方案。

1

这个问题已经有了标记的答案,但我的问题是在没有使用命令行或额外软件的情况下解决的。

我刚刚更新到'15版本,将工作区文件夹迁移到另一个驱动器,因为它变得太大了。即使删除了所引用的工作区,错误还是出现了,尽管它不具有说明性。事实上,VS'13和'15默认创建了同名的工作区,但每个版本都有一个。我必须重新打开'13,删除该工作区,然后返回'15,在那里它现在允许我重新映射我的文件夹。

希望这可以帮助某些人。


0

注销前一个用户并使用新用户登录。 将项目文件夹复制到另一个路径。 在团队资源管理器中,右键单击项目并删除映射。 重新映射项目。


0

这是我在使用VS中的Manage Workspaces时所做的:

  1. 点击“显示远程工作区”,删除远程工作区,因为我不再使用它们,不确定是否需要这样做。
  2. 创建一个新的工作区B,并映射到另一个文件夹Y,并选择“是”立即下载所有文件。
  3. 删除原始工作区A,映射到文件夹X。
  4. 重新创建原始工作区A,并将其重新映射到文件夹Y(错误的文件夹),并选择“是”立即下载所有文件。
  5. 删除工作区B。
  6. 编辑工作区A,进入高级选项。在底部的“工作文件夹”中,将本地文件夹路径更改回文件夹X,并选择“是”立即下载所有文件。

不确定是否必须执行所有这些步骤,但这就是我最终完成重新映射所做的,花了一整天的时间。


0

前往控制面板 --> 用户账户 --> 管理您的凭据 --> 编辑 TFS 用户名

用户名:您的 TFS 用户名。

我是这样解决的。


0

我曾经遇到过同样的问题。 TFS工作区管理器抛出了这个错误: “工作文件夹\PATH\已经被计算机my_computer_name上名为name_of_previous_user的工作区my_computer_name使用。”

我通过在TFS服务器上创建新用户并删除之前的用户来解决了这个问题。 您可以转到TEAM> TEAM PROJECT SETTINGS > SECURITY。 如果您有权限,可以创建自己的用户。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接