【问题标题】:"There appears to be a discrepancy between the solution's source control ...."“解决方案的源代码管理之间似乎存在差异......”
【发布时间】:2008-10-17 11:48:54
【问题描述】:

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

谁能帮助我们查明此消息的原因?

完整的信息是:

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

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

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

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

【问题讨论】:

  • 我找到了这个问题的答案,因为我的一位同事的文件没有产生错误。查看它们之间的差异:stackoverflow.com/questions/16616424/…
  • 注意: 这不仅与 VS2005 有关 - 我最近在 VS2015/2017 以及旧项目中遇到了这个问题。没有涉及 Visual Source Safe,不知何故 TFS 绑定被破坏并需要修复。我能够以这种方式解决它:检查整个解决方案,删除 TFS 绑定,保存所有,然后重新打开并再次应用 TFS 绑定是我的解决方案。

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


【解决方案1】:

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

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

或者,这里有一个涉及project binding/unbinding 的主题,如果上述内容不适用,则可能适用。

-亚当

【讨论】:

    【解决方案2】:

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

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

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

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

    我分析了解决方案文件,发现如下:

    根本原因:

    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

    【讨论】:

      猜你喜欢
      • 2019-07-25
      • 2011-08-08
      • 1970-01-01
      • 2022-11-19
      • 2013-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-23
      相关资源
      最近更新 更多