I just had to convert a Visual Studio 2008 Solution and Project to Visual Studio 2005, because we had to exchange sources with somebody who did not use VS 2008 yet.

Even though Microsoft (of course ) did not provide a wizard or automated tool for it, converting the solution is possible to do, if you know what you are doing. It is actually pretty straight forward. At least in my case... I really can't tell if it is always that easy.

All I had to do in the .sln file:
change

PLAIN TEXT
XML:

Downgrade a VS 2008 .sln or .csproj to VS 2005 Microsoft Visual Studio Solution File, Format Version 10.00 

to

PLAIN TEXT
XML:

Downgrade a VS 2008 .sln or .csproj to VS 2005 Microsoft Visual Studio Solution File, Format Version 9.00 

 

The .csproj is more complicated (showing changes as diff):

PLAIN TEXT
XML:
Downgrade a VS 2008 .sln or .csproj to VS 2005 +++ C:/vsone/source/SoundEx.the/SoundEx.the/SoundEx.the.csproj.2005 
Downgrade a VS 2008 .sln or .csproj to VS 2005--- C:/vsone/source/SoundEx.the/SoundEx.the/SoundEx.the.csproj.2008
Downgrade a VS 2008 .sln or .csproj to VS 2005@@ -1,14 +1,17 @@
Downgrade a VS 2008 .sln or .csproj to VS 2005+
< Project  DefaultTargets ="Build"  xmlns ="http://schemas.microsoft.com/developer/msbuild/2003" >
Downgrade a VS 2008 .sln or .csproj to VS 2005-
<? xml version="1.0" encoding="utf-8" ?>
Downgrade a VS 2008 .sln or .csproj to VS 2005-
< Project  ToolsVersion ="3.5"  DefaultTargets ="Build"  xmlns ="http://schemas.microsoft.com/developer/msbuild/2003" >
Downgrade a VS 2008 .sln or .csproj to VS 2005   
< PropertyGroup >
Downgrade a VS 2008 .sln or .csproj to VS 2005     
< Configuration  Condition =" '$(Configuration)' == '' " > Debug </ Configuration >
Downgrade a VS 2008 .sln or .csproj to VS 2005     
< Platform  Condition =" '$(Platform)' == '' " > AnyCPU </ Platform >
Downgrade a VS 2008 .sln or .csproj to VS 2005+    
< ProductVersion > 8.0.50727 </ ProductVersion >
Downgrade a VS 2008 .sln or .csproj to VS 2005-    
< ProductVersion > 9.0.21022 </ ProductVersion >
Downgrade a VS 2008 .sln or .csproj to VS 2005     
< SchemaVersion > 2.0 </ SchemaVersion >
Downgrade a VS 2008 .sln or .csproj to VS 2005     
< ProjectGuid > {94E2C393-2BE5-411C-BAFF-892F2C049E06} </ ProjectGuid >
Downgrade a VS 2008 .sln or .csproj to VS 2005     
< OutputType > Library </ OutputType >
Downgrade a VS 2008 .sln or .csproj to VS 2005     
< AppDesignerFolder > Properties </ AppDesignerFolder >
Downgrade a VS 2008 .sln or .csproj to VS 2005     
< RootNamespace > SoundEx.the </ RootNamespace >
Downgrade a VS 2008 .sln or .csproj to VS 2005     
< AssemblyName > SoundEx.the </ AssemblyName >    
Downgrade a VS 2008 .sln or .csproj to VS 2005-    
< TargetFrameworkVersion > v2.0 </ TargetFrameworkVersion >
Downgrade a VS 2008 .sln or .csproj to VS 2005-    
< FileAlignment > 512 </ FileAlignment >
Downgrade a VS 2008 .sln or .csproj to VS 2005   
</ PropertyGroup >
Downgrade a VS 2008 .sln or .csproj to VS 2005   
< PropertyGroup  Condition =" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' " >
Downgrade a VS 2008 .sln or .csproj to VS 2005     
< DebugSymbols > true </ DebugSymbols >
Downgrade a VS 2008 .sln or .csproj to VS 2005@@ -44,7 +47,7 @@
Downgrade a VS 2008 .sln or .csproj to VS 2005     
< Compile  Include ="Properties\AssemblyInfo.cs"   />
Downgrade a VS 2008 .sln or .csproj to VS 2005     
< Compile  Include ="SoundexSystem.cs"   />
Downgrade a VS 2008 .sln or .csproj to VS 2005   
</ ItemGroup >
Downgrade a VS 2008 .sln or .csproj to VS 2005+  
< Import  Project ="$(MSBuildBinPath)\Microsoft.CSharp.targets"   />
Downgrade a VS 2008 .sln or .csproj to VS 2005-  
< Import  Project ="$(MSBuildToolsPath)\Microsoft.CSharp.targets"   />
Downgrade a VS 2008 .sln or .csproj to VS 2005   
<!--  To modify your build process, add your task inside one of the targets below and uncomment it. 
Downgrade a VS 2008 .sln or .csproj to VS 2005        Other similar extension points exist, see Microsoft.Common.targets.
Downgrade a VS 2008 .sln or .csproj to VS 2005   <Target Name="BeforeBuild"> 


The "-" at the start of a line means remove from 2008 version and a "+" means add to 2005 version. For more explanation see Diff Section "unified format".

Hope this helps in case you need to do the same.