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

时间:2013-05-17 19:22:41

标签: visual-studio-2010 visual-studio tfs2008

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

  

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

     

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

只有一些项目被检出,但其他项目似乎没问题。所以这就是我的尝试:

  1. 我试图比较项目之间可能有什么不同 有效但无效的文件,但没有任何东西引起我的注意。
  2. 我环顾四周试了一下 建议的解决方案的数量,如“添加文件,签入然后删除 它并检查“。没有运气。
  3. 我试图在项目文件中查找“Scc”标签 但我在那里看不到任何东西。我也没有在项目中看到它们 工作得很好。看看我的解决方案,Scc条目看起来很合理。
  4. 帮助!!我错过了什么?

3 个答案:

答案 0 :(得分:24)

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

  1. 在VS中打开问题解决方案(刚刚在VS2013中执行此操作)
  2. 撤消对该解决方案中所有项目的所有待处理更改以及解决方案本身
  3. 转到文件 - >源控制 - >高级 - >更改源代码管理
  4. 选择问题项目,然后单击"取消绑定"
  5. 点击“确定”并关闭窗口(这是重要的 - 如果您没有点击“确定”,VS无法正确更新解决方案
  6. 转到文件 - >源控制 - >高级 - >更改源代码管理
  7. 选择您在#4中解除绑定的所有项目,然后点击" Bind"
  8. 单击“确定”并关闭窗口
  9. 检查您的更改
  10. 关闭解决方案并将其重新打开,现在一切都会好起来

答案 1 :(得分:6)

在VS2015中遇到同样的问题。

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

  

更改< Scc *>在项目文件中将值标记为“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

答案 2 :(得分:0)

我们团队中有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。让他们发挥作用。