Headline says it all. I’ve spent a fair bit of time recently knocking the code base into shape and adding minor details which sound dull but reduce friction when you’re using it, such as the ability to explicitly remove an assembly reference. But more exciting is the ability to switch between VS2010 and VS2008. This is a “dumb conversion”, it doesn’t modify your CS files (personally I think that’s what you want). It does, however, tweak assemblies.
Some example command lines:
Convert to VS2010: SolutionTransform Retarget –solution %cd%InversionOfControl-vs2008.sln –ide vs2010 –target dotnet40 –rename –VS2010
Convert back: SolutionTransform Retarget –solution %cd%InversionOfControl-vs2010.sln –ide vs2008 –target dotnet35 –rename –VS2008
Convert to Silverlight 3.0: SolutionTransform Retarget –solution %CD%InversionOfControl-vs2008.sln –target silverlight30 –rename -Silverlight –assemblyPaths ..libsilverlight-3.0
Now, obviously, if you’re migrating your project to VS2010, you’ll be using the Visual Studio upgrade wizard. However, this isn’t for that: it’s for including in build scripts so that you can keep parallel versions of your code running without pain. Code is found on GitHub, and the documentation on the Castle Wiki.