image If you haven’t yet heard, the Release Candidate (RC) version of Visual Studio 2010 is now available to MSDN Subscribers.  Personally, I was waiting for this release to move my primary development environment over to the new version.  Overall, the installation and setup process was easy enough on two of my development machines.  The biggest problems I ran into were related to migrating my dozen or so development projects from Visual SourceSafe to Team Foundation Server.  I know I’m a bit behind the curve, but I’m an independent developer, and I was actually happy enough with VSS.

Using VSSConverter

The VSSConverter.exe utility is Microsoft’s command-line tool for migrating Visual SourceSafe repositories to Team Foundation Server.  The utility includes analyze and migrate modes and is driven by XML-based configuration files.  The process was simple enough and is documented in the following MSDN articles:

Migration Errors

The basic process went well until I got to the step of actually performing the migration.  That’s when I encountered the following dreaded TF31002 error:


I checked my server name, port, and other settings numerous times but still couldn’t get it to work.  Web searches provided some basic troubleshooting information, but nothing relevant to my issue.  All diagnostics that I ran (including the Best Practices Analyzer from the Team Foundation Server Power Tools) reported that everything was OK.

The Solution…

I finally stumbled upon the solution in an old bug reported via Microsoft Connect.  The defect report is titled VSSConverter cannot connect to the Team Foundation Server and offers the following problem description and solution:

When trying to migrate a Source Safe database to TFS2010 the VSSConverter tool exits with the following error:
TF60070: Unable to connect to the Team Foundation Server: ‘http://ts01:8080/’. Please ensure that the Team Foundation Server exists and try again.
The Team Foundation Server exists but at http://ts01:8080/tfs (default installation) The VSSConverter tool is unable to access this location.

There is a new configuration option in the TeamFoundationServer element to specify the collection to which the sourcesafe database should be merged. It’s nowhere to be found in the documentation yet.
The solution is to add collection="tfs/DefaultCollection" to the TeamFoundationServer to specify which collection should be used.

After adding the “collection=” attribute, the migration worked flawlessly.  It took about an hour to transfer all of my code and versions, but everything looks good now.  The migration process could be simpler, but (if I’m lucky), I’ll only have to do this once.  I hope this helps some of you that might have run into the same problem.