I recently got a opportunity to migrate a VS2005 project to VS2008. I was reading all the pros and cons of migration from the different sites. The simple thing to migrate the solution is open the 2005 solution from the VS 2008 IDE, it opens a wizard and take you through each step and convert the whole project. After migration it creates a Migration report which tell the status of migration. 99% of the project gets migrated in one click. Some of the solution will have a problem. If you get a chance to compare the sln file before and after migration the only change you can find is mentioned below:
VS2005 sln file: Microsoft Visual Studio Solution File, Format Version 9.00
VS2008 sln file: Microsoft Visual Studio Solution File, Format Version 10.00
The project files (*.vbproj or *.csproj) will not be affected or modified during the migration.
One more way to do this is create a Blank solution in VS2008 and start adding vs2005 projects to it. If we have multiple projects, then it will be little tedious to add each and every project.
We have a constraint here. If you solution has SSRS or SSIS projects associated to that then it will not get migrated on its own. We need to migrate it separately. While doing this we should make sure the SQL versions is also upgrated to SQL Server 2008. It is simple in development machine, but while deploying if the environment does not support then we will be in trouble. But for Window and Web projects, we will not find any problem until we change the framework. VS2008 supports multi-targeting, I mean it supports to compile and run your project in different framework starting from Net Framework 2.0.
One more funniest thing is we can have two sln files for same project to work in two different VS versions. This will not affect the project until you do not change the target framework. This is not a best practice, but helps in critical situations.
I referred the below link to know more information before migrating the project. This is really worth reading even for knowledge sake.