【问题标题】:Cannot map TFS to local folders无法将 TFS 映射到本地文件夹
【发布时间】:2016-10-27 17:51:53
【问题描述】:

技术信息: - TFS 2013 快递 - Visual Studio 2015 更新 3

背景: 我有一个名为 PSS1 的域,其中一个域控制器名为 PSSDC-01。 TFS 在域控制器上。我的域控制器有问题。我将 TFS 移动到一个名为 PSSTFS 的新 VM,该 VM 运行 Windows Server 2016。我试图修复域问题。我无法解决域问题,所以我构建了一个新的 Server 2016 PSS1 域控制,但它在技术上是一个新域。换句话说,我在安装 AD 时单击了新域按钮。我将所有相同的用户等添加回它。我从旧的 PSS1 域中删除了所有计算机并将它们放在一个工作组中。然后将所有计算机添加到新的 PSS1 域中。

问题: 当然,当我这样做时,所有用户 ID 等都从新域中获得了新的 GUID,即使它们是相同的用户名。现在在 Visual Studio 2015 中,当我尝试将 TFS 映射到也映射到旧 PSS1 域下的 TFS 的本地文件夹时,我收到以下错误消息:

**XXXXXXXXXX 是在旧域下映射的文件夹,我正在尝试将当前 TFS 映射到。

WWWWWWWW 是旧域下存在的工作空间,新域也存在(即我没有创建新工作空间) NNNNNN 是用户名 CCCCCCC 是包含我要映射到的目录的计算机的名称。**

工作文件夹 D:\Visual Studio 2015\Projects\XXXXXXXXXX 已被工作区 WWWWWWWW;NNNNNN 在计算机 CCCCCC 上使用。

我已尝试清除 TFS 的应用程序数据文件夹中的配置文件,但没有奏效。我试过删除本地机器上的工作区。当我这样做时,工作区消失了一秒钟,但是当我回到工作区管理器重新创建它时,它又被列出来了。

任何建议将不胜感激。

更新: 我添加了一个新工作区,删除了旧工作区并尝试再次映射到该文件夹​​,但它不起作用。然后,我重新添加了旧工作区(名为 NewToshibaWin8,它应该对所有内容都使用新的 GUID)并尝试再次映射。我收到该文件夹​​已被工作区 NewToshibaWin8 使用的消息。当 NewToshibaWin8 工作区未显示在工作区列表中时,我什至得到了这一点。

【问题讨论】:

  • 您可以使用命令行命令将现有工作区移动到新用户tf workspace workspacename /newowner:domain\user,之后它应该会再次开始工作。
  • 好的,但是你明白这个域\用户将与原来的完全一样,对吗?我会试试的。
  • 所以我实际上添加了一个新工作区并删除了旧工作区,但我仍然收到相同的消息,即该文件夹由旧工作区控制。我什至尝试重新创建工作区并重新映射它,但我得到了同样的错误
  • 我也尝试了更改所有者,但没有任何区别。也许我对错误的假设是不正确的。任何其他建议将不胜感激。
  • 计算机名称是否仍然正确,或者已通过重新加入域而更改。您可能需要同时更新两者。

标签: tfs visual-studio-2015


【解决方案1】:

在尝试了我阅读的所有其他内容后,我的解决方案涉及从数据库中删除项目。我使用来自这个问题的信息作为基础:

How to remove a TFS Workspace Mapping?

WWWWWW = 工作区名称

IIIIIIIII = 在第一个查询中检索到的 WorkspaceID。

我进入我的 Tfs_DefaultCollection 数据库并运行以下查询:

/*Query to execute*/
SELECT WorkspaceId, * FROM tbl_Workspace ORDER BY WWWWWW 

令我惊讶的是,我删除的工作区仍然出现在选择的结果中。所以我记下了 WorkspaceID 并在下一个查询中使用它。

/*Query to execute*/
SELECT LocalItem, * FROM tbl_WorkingFolder WHERE WorkspaceId = IIIIIIIIII

再次令我惊讶的是,选择中返回了项目。希望数据库有参照完整性,我运行以下查询来删除工作区

/*Delete Workspace*/
Delete tbl_Workspace WHERE WorkspaceId = IIIIIIIIII

然后再次仔细检查下面的查询,我发现映射没有被删除。

/*Query to execute - The workspace should be gone now*/
SELECT WorkspaceId, * FROM tbl_Workspace ORDER BY WWWWWW 

/*Query to execute - The mappings for the deleted workspace still existed*/
SELECT LocalItem, * FROM tbl_WorkingFolder WHERE WorkspaceId = IIIIIIIIII

然后我运行查询以删除工作区映射,如下所示:

/*This will delete the actual mappings*/
Delete tbl_WorkingFolder WHERE WorkspaceId = IIIIIII

在第二次删除后,我重新运行了上面列出的选择查询,工作区消失了,它的所有映射都消失了。

完成后,我可以将服务器项目直接重新映射到我之前出现以下错误的本地计算机上:

工作文件夹 D:\Visual Studio 2015\Projects\XXXXXXXXXX 已被工作区 WWWWWWWW;NNNNNN 在计算机 CCCCCC 上使用。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2017-06-23
    • 2016-04-20
    • 1970-01-01
    • 1970-01-01
    • 2017-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多