“解决方案的源代码控制之间似乎存在差异......”

时间:2008-10-17 11:48:55

标签: visual-studio tfs version-control visual-studio-2005

我们经常在Visual Studio 2005和TFS中出现此错误。

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

完整的信息是:

  

解决方案的来源之间似乎存在差异   控制一些项目的信息和中的信息   项目文件。

     

要解决这种差异,有必要查看   项目文件并更新它们。但是,如果结账失败,那么   解决方案关闭而不保存,您将再次看到此警告   下次打开解决方案时。

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

编辑:你是对的@Adam,我们已经从VSS转换了,但是我们在前一段时间做了这样的程序来清理绑定,一切都是桃色的。错误最近开始出现。

2 个答案:

答案 0 :(得分:7)

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

Here are the steps你需要做的就是解决这个问题。我在这里带了一段摘录,但它似乎取决于几个因素而且并非微不足道。

或者,这是一个触及project binding/unbinding的线程,如果上述情况不适用,可能适用。

- 亚当

答案 1 :(得分:0)

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

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

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

我会打开solution1,允许它更新项目,然后打开solution2,只是为了再次出现此错误。

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

根本原因:

solution1.sln和solution2.sln文件在项目源代码控制绑定方面彼此不一致。

示例:

solution1.sln

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

solution2.sln

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

解决方案:

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

我最终写了一个小实用程序来实现自动化。

https://github.com/bentoo/MergeSolutionSourceControl