9

我们在 Visual Studio 2005 和 TFS 中经常遇到此错误。

任何人都可以帮助我们查明此消息的原因吗?

完整的信息是:

解决方案关于某些项目的源代码控制信息与项目文件中的信息之间似乎存在差异。

要解决此差异,有必要检出项目文件并更新它们。但是,如果签出失败,并且解决方案在未保存的情况下关闭,您将在下次打开解决方案时再次看到此警告。

单击“确定”最终会导致一个结帐框,它要在其中签出整个项目文件列表。但是,“更改源代码控制”窗口没有显示任何错误,并且保存所有内容并重新检查它最终会显示为“没有更改,撤消所有内容”类型的消息。

编辑:你说得对,@Adam,我们已经从 VSS 转换了,但是当我们前一段时间这样做时,我们经历了这样一个程序来清理绑定,一切都很顺利。该错误最近开始出现。

4

2 回答 2

7

听起来您将项目从 VSS 移动到 TFS,并且原始解决方案文件仍绑定到 VSS - 您需要将其重新绑定到 TFS。

以下是解决此问题所需执行的步骤。我会在这里摘录一段,但它似乎取决于几个因素,而且并非微不足道。

或者,这是一个涉及项目绑定/解除绑定的线程,如果上述内容不适用,则可能适用。

-亚当

于 2008-10-17T11:58:03.507 回答
0

我们有 2 个解决方案和数百个项目。

我从 VS 2008 SP1 迁移到 VS 2010 SP1 并且也收到错误:

解决方案的源代码控制信息之间似乎存在差异。. .

我会打开解决方案1,允许它更新项目,然后打开解决方案2,只是再次出现此错误。

我分析了解决方案文件,发现以下内容:

根本原因:

关于项目源代码管理绑定,solution1.sln 和 solution2.sln 文件彼此不一致。

例子:

解决方案1.sln

SccProjectUniqueName6 = Project1\\Project1.csproj
SccProjectName6 = \u0022$/Project1\u0022,\u0020HSBAAAAA
SccLocalPath6 = Project1

解决方案2.sln

SccProjectUniqueName6 = Project1\\Project1.csproj
SccLocalPath6 = .
SccProjectFilePathRelativizedFromConnection6 = Project1\\

解决方案:

我通过手动修改解决方案文件以在记事本中保持一致来解决此问题。我将源代码控制信息从 solution1.sln 复制并粘贴到 solution2.sln 中,用于他们共同的项目。

我最终编写了一个小实用程序来自动执行此操作。

https://github.com/bentoo/MergeSolutionSourceControl

于 2013-01-04T15:30:20.757 回答