Retired SQL Server database developer and administrator; active MS SQL Server consultant for T-SQL, SSRS, and SSIS
Browse All Articles > "Discrepancy" error from VS 2008 after migrating from VSS 2005 to TFS 2010
After installing Visual Studio 2010 (see my tip on that here) and migrating Visual SourceSafe 2005 to Team Foundation Server 2010, I needed to connect my remaining Visual Studio 2008 solutions (the ones that are really SQL Server 2008 Business Intelligence Design Studio projects) to also use TFS 2010. I found the VS 2008 Team Explorer download and applied VS 2008 SP1 and the TFS 2010 forward compatiblity patch (supplied on the TFS 2010 DVD) to it so that everything worked.
I often work remotely over VPN and converting to TFS 2010 yielded a big performance improvement (even though I was using the VSS LAN accelerator previously). The only problem was that now every time I opened a a VS/BIDS 2008 solution an alert box with the following message popped up:
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).
To resolve this discrepancy it will be necessary to check out the project file(s) and update them. If the check out fails, however, and the solution is closed without saving, you will see this warning again the next time you open this solution.
OK, fine. The check out did not fail. I saved the solution before closing it. And the warning continued to pop up every time I opened the solution again.
I noticed that some or all of the project files in the solution were indeed being checked out, and I surmised that there was something in those project files that needed to be updated. I also noticed that when I checked them back in, TFS reported that nothing had changed and proceeded to simply undo the changes.
That would be OK if no changes were needed, but changes were needed. The way I finally resolved it was to identify each project that was being checked out, right click the project name, change something (anything! -- almost) in the project properties so as to "dirty" it, change that property right back to what it was again, and then close the properties dialog, save, and check in the project.
Once the project properties were dirtied, VS 2008 fixed whatever it was bothering it and the annoying alert box no longer appeared; nor did any automatic checkouts occur.
If you do this, you do need to change a project property that is something that is actually stored in the project file. You can tell by checking the project back in and then making the change and changing it back and closing the project properties dialog. If changing/changing back causes the project file to check out then you got it. Otherwise try another property. Exactly what you change will depend upon what kind of project it is.