Visual Studio 2019中的无效绑定

时间:2019-09-13 21:20:53

标签: visual-studio azure-devops visual-studio-2019

我知道这是一个很常见的问题,因为似乎很多人都遇到了。我正在发布此问题,以查看我为解决该问题而提出的所有建议均失败时是否有其他选择。

我有一个使用Visual Studio 2019处理的6个项目的解决方案。一切正常,突然之间,我的解决方案似乎不受源代码控制。所有绑定都显示Invalid,并且试图修复它们无效。

我可能引起此问题的唯一一件事就是将VS 2019升级到最新版本,即16.2.5,直到第二天才可用。在更新之前,我正在使用VS 2019 16.2.4。除此之外,什么都没有改变,我也没有做任何异常的事情。

我的问题是,在互联网上找到的所有建议方法都失败之后,我有什么选择?

这是我到目前为止尝试过的,但没有任何效果:

  1. 我删除了.vs文件夹并打开了解决方案。没用。
  2. 我的解决方案中有6个项目。我一一解开。然后,我一个接一个地卸载每个项目。然后,我一个接一个地重新加载每个项目。这没有解决。然后,我在文件>源代码管理>高级>更改源代码管理下重新绑定每个项目。这也没有解决。

我的解决方案有新变化。除了将整个解决方案下载到一个新文件夹并手动添加更改之外,我还需要哪些选项来解决此问题?

P.S。我将Azure DevOpsTFVC一起用于源代码控制。

1 个答案:

答案 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)