Upgrading from ASP.NET 1.1 to ASP.NET 2.0 + AJAX

I'm trying to get back into the habit of answering customer questions via the blog so all of you get the benefit of the answer.  Here's a question which showed up in my mailbox recently:

"I have a very large project in ASP.NET 1.1. If I upgrade the server to ASP.NET 2.0 with AJAX, will the project possibly break down in places and have to be reworked? Can you point me to the best articles/information on this?"

There is some good information on MSDN, but some of it may confuse you because a fair amount of it was published prior to the release of Visual Studio 2005 SP1.  A feature was added to Visual Studio 2005 SP1 which makes migrating your apps much easier.  This feature is called Web Application Projects.  The feature was in a separate preview download prior to the Visual Studio 2005 SP1 release.  As you go through some of the references below, bear in mind that some of the articles talk about migrating prior to Web Application Projects while others talk about the preview version.  Here are my recommended steps to get to ASP.NET AJAX programming from an ASP.NET 1.1 based app:

1.  Make sure you have Visual Studio 2005 SP1 installed. 

2.  If you are using Windows Vista, then also install the Visual Studio 2005 Service Pack 1 Update for Windows Vista.

3. Open your project/solution in the Visual Studio 2005 (with SP1 applied), allow the conversion wizard to do it's magic and follow the steps outlined at https://msdn2.microsoft.com/en-us/library/aa479567.aspx to complete the process.  Note the article still references the preview of Web Application Projects, but the steps still apply.

4. Fix any breaking changes from 1.1 -> 2.0 (see links below).

5. Consider taking advantage of new features in ASP.NET 2.0 (see Migrating .NET Pet Shop 4: Migrating an ASP.NET 1.1 Application to 2.0.  The article does a really good job of helping you decide what new features to start using and why).

6. Install ASP.NET AJAX and the ASP.NET AJAX Control Toolkit (if you want/need the additional controls) from here.

7. Update your web.config to configure ASP.NET AJAX.  Joe Stagner has a great video walking you through how to do this in his "How do I?" series here.  Just look for "#6 | How Do I: Add ASP.NET AJAX Features to an Existing Web Application?"  There's also full documentation here.

8. That's it, now you can start incrementally updating your site with ASP.NET AJAX!

Here are some helpful links.  I've done my best to call out the caveats about older and potentially confusing information.

Upgrade from ASP.NET 1.x

https://msdn2.microsoft.com/en-us/asp.net/aa336650.aspx - This is a nice landing page for articles pertaining to migration.  Remember that there are two project styles for web apps in Visual Studio 2005 with SP1 applied (Web Sites and Web Application Projects).  Make sure you understand that some of the guidance around Web Sites does not apply to you since you will be using Web Application Projects.  NOTE: DO NOT INSTALL THE WEB APPLICATION PROJECTS INSTALLER LINKED FROM HERE.   Install Visual Studio 2005 SP1 from above to get the final/supported release of Web Application Projects.

Microsoft .NET Pet Shop 4: Migrating an ASP.NET 1.1 Application to 2.0

https://msdn2.microsoft.com/en-us/library/aa479070.aspx - This article was written before Web Application Projects.  The information is very valuable starting from step 5 above.  Ignore the migration information prior to my step 5 above you will be using Web Application Projects.

Breaking Changes in .NET Framework 2.0

https://msdn2.microsoft.com/en-us/netframework/aa570326.aspx

-Marc