We're considering converting a large solution from 2005 to 2008, but want to make sure that we don't hit any unforeseen issues. What are the things that we should be looking out for? Are we going to need to retest the entire project? Thanks!
We converted and did not have any issues. The conversion still uses the same .NET framework that you were originally using unless you update it. I don't think there will be any issues.
In my experience, going from 2005 to 2008 has always been surprisingly smooth! VS 2008 supports multi-targeting so you can still use a previous framework if you want.
I would still retest the project, though.
By default when you switch from 2005, to 2008, .NET 2.0 is still targeted so you will get the exact same results. You can switch your projects to .NET 3.0 or 3.5 one at a time. I haven't encountered any issues.
Converting from VS2005 to VS2008 does not necessarily mean that you need to change which version of .NET Framework you are running on; it's mostly a question of upgrading the project files.
But as always; any change should trigger tests.
Some StackOverflow discussions of the changes:
http://stackoverflow.com/questions/46036/upgrading-to-visual-studio-2008-from-2005 http://stackoverflow.com/questions/264920/is-it-worth-switching-from-visual-studio-2005-to-visual-studio-2008
As noted above, the framework and assemblies do not need to change. It is how the solution is configured. And solution is just a visual studio / msbuild feature.
Not sure what sorts of exact difficulties you'll encounter, but...
... put everything under version control/backups BEFORE you start the conversion.
I converted a few projects with no issues. I tested the first project pretty thoroughly, but the rest just received a quick run-through. If you still target the 2.0 Framework after conversion, I think your risks are fairly small. Of course, make sure your version control is updated and ready to rollback, just in case.
Only ever had minor problems with the build for an installer of a windows service, but this was relatively easy to sort out.
You only need to change the first 2 lines in the SLN file (to the next version number, both the line and the comment line).
Then fire up in VS2008. Project file format stayed the same. Projects will still target .NET 2.0.
They got this right!
We have an issue with Visual Studio 2008 crashing on opening any .rc file with the Resource Editor in our project. They worked fine before converting from 2005.
We haven't taken the time to identify what exactly causes the crashes as changes to these files are rare enough that modifying them by hand in Code View is acceptable. We're porting the whole application to .NET at the moment anyway.
What sort of projects are they, and will you be using it as an opportunity to change the version of the framework you're using or any other details about how they're set up? I had to shift a few ASP.Net 2.0 projects over from 2005 to 2008 and .Net 3.5, and found that there were sometimes a few issues. It was over a year ago, so I can't remember the details exactly (and it is possible that they may have been changed from website to web application types), but I believe it was something to do with the App_Code folder no longer being required and causing compilation errors. All pretty easy to rectify, but a little more involved than simply opening the solution in the new app.
The best starting point would probably be to take a copy of one of the solutions and have a crack at it, see what happens with your code structure :)
If it is an ASP.NET Web Application and you are using ASP.NET AJAX, you have a few things to take into account.
ASP.NET AJAX 1.0 was a separate install for .NET Framework 2.0.
But starting with Visual Studio 2008, ASP.NET AJAX comes pre-installed in the GAC (Global Assembly Cache).
So the Web.config file configuration settings in your Visual Studio 2005 Web Project is referencing to ASP.NET AJAX 1.0.
You need to fix that to point to the .NET Framework 3.5 version of the ASP.NET AJAX.