迁移到新工作区时 TFVC 源代码控制绑定无效

TFVC source control binding invalid when migrating to new workspace

我要换一台新机器,并希望保持我的 TF 文件原样。因此,我只是将整个文件夹复制到新机器的(与之前的机器相同 - C:\TF),将其映射到 TF 服务器的根目录,并尝试从文件资源管理器打开一个解决方案,希望它能绑定更多或自动减少。

然后我 运行 进入与其他地方描述的其他问题类似的问题,例如 here and here。 VS/TF坚持解决方案和所有项目的绑定是"invalid"。

但是,当我对解决方案文件夹执行 get 操作时,绑定突然变得健康了。最后我执行了 get,删除了所有新文件并将旧机器上的文件放回原来的位置。 VS/TF 显然当时绑定没有问题。不过,这是实现这一目标的一种相当不方便的方式。

我不得不得出结论,TF 不希望 我在没有首先在该工作区中执行 get 的情况下将我自己的本地文件绑定到源代码管理,即使文件路径匹配服务器上的内容。问题:这是为什么?我在概念上做错了什么吗?做错了吗?这种行为是该工具的防白痴功能,还是只是一种限制?

你做错了:/。 | 这是一个功能,而不是错误

工作区已在 VSTS/TFS 服务器以及本地工作区缓存中注册。将文件夹移动到新机器(和相同的文件夹位置)后,您需要告诉 VSTS/TFS 这些文件现在所在的新计算机名称。

您必须 运行 tf vc workspaces /updateComputerName:oldComputerName workspacename 更新服务器上的工作区注册。

但恐怕您需要在使用新映射覆盖工作区之前执行此操作。

现在我认为唯一的选择是使用取消绑定选项,保存所有,然后再次打开源代码管理菜单并重新绑定解决方案中的所有项目。或手动编辑解决方案文件 (there's a tool for it as well)。