Visual Studio 2019中的无效绑定

Sam*_*Sam 5 visual-studio azure-devops visual-studio-2019

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

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

我所做的唯一可能导致此问题的方法是升级VS 2019到最新版本,即在前16.2.5一天可用时。在更新之前,我正在使用VS 2019 16.2.4。除此之外,没有任何改变,我也没有做任何异常的事情。

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

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

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

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

PS我使用Azure DevOpsTFVC源代码控制。

xr2*_*0xr 1

我最近使用 VS 2017 处理了这两个问题。就我而言,绑定问题是在将本地文件移动到新计算机时出现的。这不值得赏金,因为这只是我的解决方法,但评论太长了。

首先,我在磁盘上的其他位置复制了整个解决方案,以确保我不会丢失更改。然后,我可以让绑定工作的唯一方法(令人沮丧)是从源代码控制重新获取解决方案(必须执行“获取特定版本”、“最新版本”、“覆盖可写...”以及覆盖文件,即使本地版本火柴...)。之后,绑定神奇地工作了(我可能不得不重新启动 VS)。

接下来,您需要将所有更改复制回去。现在如何执行此操作取决于您的情况。如果您知道其他人没有对您编辑的文件进行任何更改,则可以将整个文件替换为包含您所做更改的副本。但是,如果这些文件之一在您更改的存储库中也有更改,则本地文件不包含,当您签入并进行合并时,它会认为您删除了它们。

如果您是后一种情况,我认为唯一的选择是为每个文件复制您的个人更改。在这两种情况下,我发现BeyondCompare对于帮助比较和复制很有用,但看起来您也可以在两个本地文件上使用 Visual Studio 的合并工具。例如"%VS110COMNTOOLS%/../IDE/vsdiffmerge.exe" "File1" "File2"

正如您所提到的,现在您的更改已经生效,您必须让 Visual Studio 识别它们。由于分支问题,我不得不这样做。为此,您可以tf vc /reconcile在 Visual Studio 命令提示符中使用。例如:

tf vc /reconcile /promote /adds /deletes /diff /recursive [itemspec]
Run Code Online (Sandbox Code Playgroud)

我还没有找到官方文档,/reconcile但它似乎可以识别您的本地更改,您可以在其中指定要查找的更改类型 - /adds/deletes/diff。之后您应该能够签入。如果解决方案已打开,您可能需要在 VS 中刷新该解决方案。

我希望您的问题能够得到导致 Visual Studio 无法将一组完美的本地文件绑定回源代码管理的答案,但同时希望这也能有所帮助(并且适用于 2019 和 Azure)。