Determining Application Compatibility with the .NET Framework

Applies To: Windows Server 2003, Windows Server 2003 with SP1

For a successful upgrade to Windows Server 2003 and IIS 6.0, you need to determine whether your ASP.NET applications are dependent on specific versions of the .NET framework. Windows Server 2003 includes version 1.1 of the .NET Framework, although most of the .NET applications that were developed before the release of Windows Server 2003 were designed to run on version 1.0 of the .NET Framework.

Note

Version 1.0 of the .NET Framework is only supported in IIS 5.0 isolation mode. Therefore, you can only run version 1.0 and version 1.1 of the .NET Framework on the same server when IIS 6.0 is configured to run in IIS 5.0 isolation mode. Version 1.1 of the .NET Framework is supported in IIS 5.0 isolation mode or worker process isolation mode.

Typically, ASP.NET applications running on version 1.0 of the .NET Framework are compatible with version 1.1 of the .NET Framework. However, there might be some incompatibilities, the majority of which are security related and can be corrected by configuring the .NET Framework to be less restrictive.

For example, in the .NET Framework version 1.0, the .NET Framework only examines the SQLPermission.AllowBlankPassword attribute if the user includes the password keyword in their connection string. If an administrator or user sets "SQLPermision.AllowBlankPassword=False", it is possible to specify a connection string like "server=(localhost);uid=sam" and succeed. In the .NET Framework version 1.1, this connection string fails.

You can use both version 1.0 and version 1.1 of the .NET Framework on the same server running IIS 6.0, also known as side-by-side configuration. Side-by-side configuration allows you to run a mixture of applications that require version 1.0 or version 1.1 of the .NET Framework. During your lab testing, determine the version of the .NET Framework that is required by your applications.

For a current list of possible compatibility issues when upgrading from version 1.0 to version 1.1 of the .NET Framework, see Compatibility Considerations and Version Changes on the GotDotNet Web site. For more information about using multiple versions of the .NET Framework in side-by-side configuration, see Configuring IIS 6.0 to Use the Correct Version of the .NET Framework.

Note

Before upgrading the script maps for your ASP.NET applications, point to version 1.0 of the .NET Framework. Upon completion of the upgrade, version 1.1 of the .NET Framework is installed and the script maps are modified to use version 1.1. When your applications require version 1.0, you need to modify the script maps to use version 1.0, rather than version 1.1. For more information about how to modify the script maps to use version 1.0 of the .NET Framework, see Configuring IIS 6.0 to Use the Correct Version of the .NET Framework.