我知道这是一个很常见的问题,因为似乎很多人都遇到了。我正在发布此问题,以查看我为解决该问题而提出的所有建议均失败时是否有其他选择。
我有一个使用Visual Studio 2019
处理的6个项目的解决方案。一切正常,突然之间,我的解决方案似乎不受源代码控制。所有绑定都显示Invalid
,并且试图修复它们无效。
我可能引起此问题的唯一一件事就是将VS 2019
升级到最新版本,即16.2.5
,直到第二天才可用。在更新之前,我正在使用VS 2019 16.2.4
。除此之外,什么都没有改变,我也没有做任何异常的事情。
我的问题是,在互联网上找到的所有建议方法都失败之后,我有什么选择?
这是我到目前为止尝试过的,但没有任何效果:
我的解决方案有新变化。除了将整个解决方案下载到一个新文件夹并手动添加更改之外,我还需要哪些选项来解决此问题?
P.S。我将Azure DevOps
与TFVC
一起用于源代码控制。
答案 0 :(得分:1)
我最近使用VS 2017处理了这两个问题。就我而言,绑定问题是将本地文件移动到新计算机上时的问题。这是不值得的,因为这只是我的解决方法,但是评论太久了。
首先,我将整个解决方案的副本复制到磁盘上的其他位置,以确保不会丢失更改。然后,使绑定正常工作的唯一方法(令人沮丧的)是从源代码管理中重新获得解决方案(必须执行“获取特定版本”,“最新版本”,“覆盖可写...”和覆盖文件,即使本地版本也是如此)火柴...)。之后,绑定就神奇地起作用了(我可能不得不重新启动VS)。
接下来,您需要重新复制所有更改。现在,如何执行此操作取决于您的情况。如果您知道,其他人对您编辑的文件没有任何更改,则只需将整个文件替换为包含您所做更改的副本。但是,如果其中一个文件的存储库中也有更改,而本地文件不包含这些更改,则当您签入并进行合并时,会认为您已将其删除。
如果是后一种情况,我认为唯一的选择就是繁琐地复制每个文件的个人更改。在这两种情况下,我都发现BeyondCompare对协助比较和复制很有用,但是it looks like you can also make use是在两个本地文件上使用Visual Studio的合并工具。例如。 "%VS110COMNTOOLS%/../IDE/vsdiffmerge.exe" "File1" "File2"
正如您提到的那样,既然已进行更改,则必须使Visual Studio识别它们。由于a branching issue,我只需要这样做。为此,您可以在Visual Studio命令提示符下使用tf vc /reconcile
。例如:
tf vc /reconcile /promote /adds /deletes /diff /recursive [itemspec]
我还没有找到关于/reconcile
的官方文档,但似乎可以找到您的本地更改,可以在其中指定要查找的更改类型-/adds
,{{1} },/deletes
。之后,您应该可以签入。如果已打开VS,则可能必须刷新该解决方案。
我希望您的问题能解决导致Visual Studio无法将一组完美的本地文件绑定回源代码控制的问题的答案,但是希望这对您有所帮助(并且适用于2019年和Azure)