【问题标题】:There appears to be a discrepancy between the solution's source control information about some project(s) and the information in the project file(s)解决方案关于某些项目的源代码控制信息与项目文件中的信息之间似乎存在差异
【发布时间】:2013-05-17 19:22:40
【问题描述】:

我在 Visual Studio 2010 的 Reporting Services 解决方案中收到此错误消息 [我们使用 TFS 进行源代码控制]:

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

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

只有一些项目得到检查,但其他项目似乎还可以。所以这是我尝试过的:

  1. 我试图比较项目之间的差异 有效和无效的文件,但没有什么能引起我的注意。
  2. 我环顾四周,尝试了一个 建议的解决方案数量,例如“添加文件、签入然后删除 它和检查”。没有运气。
  3. 我试图在项目文件中查找“Scc”标签 但我在那里看不到任何东西。我也没有在项目中看到它们 工作正常。查看我的解决方案,Scc 条目看起来很合理。

救命!!我错过了什么?

【问题讨论】:

标签: visual-studio-2010 visual-studio


【解决方案1】:

使用 Visual Studio,您可以通过解除绑定和绑定解决方案和/或项目来解决此问题。试试这个:

  1. 在VS中打开问题解决方案(刚才在VS2013中做了这个)
  2. 撤消对该解决方案中所有项目和解决方案本身的所有待定更改
  3. 转到文件 -> 源代码管理 -> 高级 -> 更改源代码管理
  4. 选择有问题的项目并点击“解除绑​​定”
  5. 单击确定并关闭窗口(这很重要 - 如果您不单击确定 VS 不会正确更新解决方案
  6. 转到文件 -> 源代码管理 -> 高级 -> 更改源代码管理
  7. 选中#4中你解绑的所有项目,点击“绑定”
  8. 点击确定并关闭窗口
  9. 签入您的更改
  10. 关闭解决方案并重新打开它,现在一切都应该没问题了

【讨论】:

  • 粗体是必不可少的。要找出哪个项目有问题,请在 VS 的“输出”窗口中选择“源代码管理 - Team Foundation”,然后查看哪些项目文件“...已自动签出以进行编辑”。每次打开解决方案时。
  • 我刚吃过这个,它一直把我逼上绝路。不错,丹尼斯。
  • 不幸的是,在 VS 2015 中,这个菜单项“取消绑定”似乎不再存在。
【解决方案2】:

在VS2015中遇到了同样的问题。

我发现这个解决方法对我有用:

在项目文件中将标签值改为“SAK”(应该已经知道):

<SccProjectName>SAK</SccProjectName>
<SccProvider>SAK</SccProvider>
<SccAuxPath>SAK</SccAuxPath>
<SccLocalPath>SAK</SccLocalPath>

https://connect.microsoft.com/VisualStudio/feedback/details/616751/discrepancy-between-the-solutions-source-control-information-about-some-project-s-and-the-information-in-the-project-file-s

解决方法 #3

【讨论】:

  • 您在哪个文件中编辑了这个?项目?解决方案?我之所以问这个问题,是因为我收到了与 Web 项目相同的错误消息。
  • 我修改了项目文件
  • 仅供参考:这是 Visual Studio 在您取消绑定/绑定项目时所做的事情。
  • 根据我的经验,取消绑定/绑定不会将值更改为 SAK。我不得不手动编辑项目文件。
【解决方案3】:

我们团队中有 1 人正在从 VSS 转换为 TFS,但没有任何错误。他从未检查过他的解决方案,所以直到现在我们才看到它。我查看了他的解决方案文件,并且存在差异。我在“GlobalSection(TeamFoundationVersionControl) = preSolution”中发现了每个项目的以下差异:

我们在 TFS 中的 NETReports.sln(出现上述错误的文件):

SccProjectUniqueName7 = EllinReports\\DiagnosticReports\\DiagnosticReports.rptproj
SccProjectName7 = EllinReports/DiagnosticReports
SccLocalPath7 = EllinReports\\DiagnosticReports

他的 NETReports.sln(没有给出上述错误的文件):

SccProjectUniqueName7 = Reports\\DiagnosticReports\\DiagnosticReports.rptproj
SccProjectTopLevelParentUniqueName7 = NETReports.sln
SccProjectName7 = Reports/DiagnosticReports
SccAuxPath7 = http://<server>:8081/tfs/dev
SccLocalPath7 = Reports\\DiagnosticReports
SccProvider7 = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}

我想现在一切都说得通了。我们都缺少 SccAuxPathXXX、SccProviderXXX 和 SccProjectTopLevelParentUniqueNameXXX。让他们与众不同。

【讨论】:

    猜你喜欢
    • 2019-07-25
    • 1970-01-01
    • 2014-07-24
    • 2014-03-09
    • 2018-02-10
    • 1970-01-01
    • 2016-11-23
    • 2018-02-28
    • 1970-01-01
    相关资源
    最近更新 更多