Migration Overview

There are several options for using applications built in previous versions of ASP.NET with ASP.NET version 2.0:

  • You can migrate your existing ASP.NET application to ASP.NET 2.0.

  • You can run your existing ASP.NET application in the .NET Framework version 2.0 without migrating.

  • You can continue to run your existing ASP.NET application side-by-side with ASP.NET 2.0 applications.

Each of these options is discussed below. To use the new features of ASP.NET 2.0 in your ASP.NET 1.x application, you do not need to migrate your Web application. However, there are benefits for migrating your application, including greater separation of code from markup, reserved application folders, and flexible deployment options. The benefits of migrating are related to the new features in ASP.NET 2.0, including the new Web page code-behind model, Web application folder structure, and page compilation model.

For more information about compatible application versions, see Version Compatibility. For a list of the public API modifications to the class library that might affect the compatibility of your application, see Compatibility Considerations and Version Changes.


Migrating from a previous version of ASP.NET to ASP.NET 2.0 means making the necessary changes so that your Web application compiles in the .NET Framework version 2.0. Before migrating a Web application, you should understand the new features of ASP.NET 2.0. The most important aspects to consider involve the changes in the page code-behind model, the Web application folder structure, and the page compilation model.

The new page code-behind model is based on partial classes and allows greater separation of markup and code. The use of partial classes removes the need for control declarations and event wire-up code in your code-behind files.

The new Web application structure in ASP.NET 2.0 uses reserved folders to contain specific content and help you organize your application more efficiently. Reserved folders do not serve Web requests for content, but can be accessed from application code. For more information, see ASP.NET Web Site Structure.

By default, ASP.NET 2.0 automatically compiles application code and dependent resources when a request is made to a resource on your Web site. For example, changes to an existing Web page or dependent resources in ASP.NET 2.0 can simply be saved and the page requested again for the page and its resources to be recompiled. This applies to resources like code files in the App_Code folder, resource files in the App_GlobalResources and App_LocalResources folders, and themes in the App_Themes folder. For more information on the page compilation model, see ASP.NET Compilation Overview.

The details of migrating an ASP.NET 1.x application to ASP.NET 2.0 are discussed in Migrating ASP.NET 1.x Applications to ASP.NET 2.0.

If you plan on migrating many pages, it is recommended you use Visual Web Developer 2005, Visual Web Developer 2005 Express Edition, Visual Studio 2005, or Visual Studio 2005 Team System, each of which has a migration wizard that automates many of the tasks involved in migration. The wizard makes the necessary changes to your Web pages to make them compatible with ASP.NET 2.0.

If you are migrating from ASP to ASP.NET 2.0, there are more changes to consider, as ASP.NET 2.0 has been enhanced significantly over ASP. It is recommended you convert directly to ASP.NET 2.0 rather than converting ASP pages to a previous version of ASP.NET and then to ASP.NET 2.0. For more information, see Migrating ASP Pages to ASP.NET.

For more information on migrating from other technologies to ASP.NET as well as general migration questions, see the Microsoft ASP.NET Developer Center Migration site.

Running ASP.NET v1.x Applications on the .NET Framework 2.0

Web applications created in previous versions of ASP.NET are able to run in the .NET Framework 2.0 without recompiling. The .NET Framework 2.0 provides a high degree of backward compatibility with ASP.NET 1.x applications. You will be able to use ASP.NET 2.0 features in your application's pages as long as your application uses the .NET Framework 2.0.

By default, when the .NET Framework 2.0 is installed on a computer where a runtime is already installed, ASP.NET applications mapped to a previous version of the .NET Framework are not updated to use the newer version. To configure an existing ASP.NET 1.x application to use the .NET Framework 2.0, see How to: Run ASP.NET 1.x Applications in the .NET Framework 2.0.

Side-By-Side Execution

ASP.NET 1.x applications and ASP.NET 2.0 applications can run side-by-side on a Web server running Microsoft Internet Information Services (IIS). An existing Web application can be configured to run on a specified version of ASP.NET by using the Microsoft Management Console (MMC) Snap-In for ASP.NET. In side-by-side execution, you will not be able to use any features of ASP.NET 2.0 in an application running in the .NET Framework 1.x. For more information, see ASP.NET Side-by-Side Overview.

See Also


Version Compatibility

ASP.NET Web Site Layout

ASP.NET Side-by-Side Overview

Other Resources

ASP.NET Development Center for Migration

MMC Snap-In for ASP.NET

Migrating ASP.NET 1.x Applications to ASP.NET 2.0

Migrating ASP Pages to ASP.NET