R – Suggestions on How to Migrate Website from ASP.net 1.1/2.0 to 3.5

asp.netrefactoring

Good Morning All,
I have inherited an ASP.net website that was originally started back in 2007. I believe that a lot of the codebase was written in version 1.1, patched to 2.0 where necessary. The client is still not happy with some features and has requested changes to be made. In "peeling back the onion skin" I found that the codebase is rather outdated. I have asked and received approval to upgrade the entire application (website plus VB library) to ASP.net 3.5.
Besides following the standard help instructions in VS 2008 and the advise of other posters on this site, can anyone direct me to specific resources to utilize in reviewing the 1.1/2.0 codebase and selecting the best 3.5 constructs that are most compatible? Do you favor the approach of converting the codebase in VS 2008, or do you start with a clean slate and copy/paste code where necessary? The original codebase uses Anthem and Free Textbox libraries. Do you favor upgrading these libraries to 3.5 where available, or are there other (free) libraries that will do a better job?

Thanks,
Sid

Best Answer

I believe the following statements are correct, anyone may feel to correct me if I am wrong :)

  • ASP.net 2.0+ is not backwards compatible with ASP.net 1/1.1, so I expect the project was either written in ASP.net 1.1 or ASP.net 2.0+, not a mixture of both. You could check IIS to see what framework it is targeting the website. If you had meant that some of the class libraries were in 1.1, and the website was in 2.0, then I could understand that.

  • I would upgrade your website project to 2.0 if you upgrade anything. You had to compile a website project in 1.1 and this would be a large time constraint. Hopefully your boss will understand that this would save time in the long run.

  • I don't believe there are too many changes from 2.0 to 3.5 other than making some minor changes to the web.config to properly target the right framework, and include assemblies to your LINQ classes, etc. Visual Studio has an upgrade feature included. You could try to upgrade the project this way and see if it fails to build or not after.

  • Visual Studio 2008 contains a feature called "Multi-Targeting". This will allow you to work on projects in 3.5/3.0/2.0 all within the same IDE. At a minimum, perhaps you could convince them to upgrade you to VS2008, so long as the project is at a minimum of 2.0.