It is not possible to run two different versions of ASP.NET in the same IIS process
When trying to run a .NET web-application the following error is generated in the browser:
Server Application Unavailable
and in the event log the following event is generated:
Type: Error Source: ASP.NET 2.0.50727.0 Category: None Event ID: 1062 Description: It is not possible to run two different versions of ASP.NET in the same IIS process. Please use the IIS Administration Tool to reconfigure your server to run the application in a separate process.
The web server has .NET applications running on it that require different versions of the Framework, for example .NET 1.1 and .NET 2.
IIS supports different versions of the .NET framework, but the default out-of-the box configuration breaks if you use web applications built for different frameworks within the same application pool.
I have only encountered this error on a server running IIS, not on a PC so these notes are only applicable to the error on a server.
The remedy is to assign a different application pool for each version of .NET. No two applications that use different versions of .NET should use the same application pool.
- Open Internet Information Services (IIS) Manager.
- Expand the server.
- Expand "Application Pools". The default configuration is for there to only be one application pool, called "DefaultAppPool".
- Create a second application pool for use exclusively for .NET 2. I suggest calling this "AppPool for .NET 2", but the name really doesn't matter. Whilst I'm suggesting a new Application pool for .NET 2 applications you might find it more convenient to create a separate pool for .NET 1.1 applications.
- Expand the Web Sites.
- Open the properties up for each application that runs .NET 2 and change its "Application Pool" (on the "Directory" tab) to the newly created application pool ("AppPool for .NET 2").
When you have finished you should one pool that all your .NET 2 web applications use and a separate pool (the default pool if you followed my instructions above) for .NET 1.1 web applications.
These notes have been tested with .NET 1.1 and .NET 2 applications on Windows 2003 server running IIS 6, and may apply to other versions as well.
About the author: Brian Cryer is a dedicated software developer and webmaster. For his day job he develops websites and desktop applications as well as providing IT services. He moonlights as a technical author and consultant.