[
Back to Main ]
This application will help you to track down ASP.Net application version conflicts
in your ASP.Net web applications.
Do I have a conflict?
If you are having "Server Unavailable" errors from your web server, or if you see
the following events in your IIS web server event log, then you probably have multiple
versions of ASP.Net running in the same application pool.
Fig 1: Event ID: 1062
"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. For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp."
IIS will report these errors, and attempt to restart the application pool, but the
error information given is not enough to fix the issue. Also, if you have many web
sites running on a single instance of IIS each with ASP.Net sub applications, then
you will have the unwelcome task of searching through all of those applications
to find a potential conflict.
How does IIS Metabase Analyzer work?
As the name implies, the application looks at IIS Metabase information to determine
which IIS Web applications are running under which IIS Web sites. Additionally,
it determines which Application Pools those websites and web applications are running
under. When a version conflict is detected, IIS Metabase Analyzer alerts you to
it and then it's up to you to fix the issue with the IIS Management tools.
There are two ways for IIS Metabase Analyzer to load data from IIS:
1. WMI Connection to IIS
This method will give you the current picture of what configuration your IIS is
running with.
2. Metabase file load
This method enables you to look at the IIS configuration off line. This is great
for off site support, or over the phone trouble shooting where you might not have
direct access to the IIS Web Server. You can also directly load IIS Metabase Backup
(.MD*) files so that you can look at historical backup snapshots to determine if
an "ghost" issue was actually present on your IIS Web Server.
What are the configuration issues that IIS Metabase Analyzer detects, and how do
I resolve them?
1. Multiple ASP.Net application versions in one Application Pool.
This condition occurs when you are setting up a new website on an IIS web server
with another ASP.Net web application already installed but of a different version
of the .Net framework than your new application. If you forget to change the application
pool from the default value, both ASP.Net applications (with different .Net framework
versions will attempt to use the same Application Pool, which causes the Application
Pool to crash.
Once you have located the offending application, the easiest way to fix the issue
is to create a new Application Pool, and assign the offending application to it,
or assign the offending application to another Application Pool that contains ASP.Net
applications at the same version as your offending application.
2. Use of differing .Net versions of the ASP.Net script processors in the same Web
Application.
You can specify custom script mappings inside the advanced application configuration
sections in IIS. This is common for websites that use URL rewriting for SEO, which
enables .Net to handle the URL rewriting logic. Because it is possible to specify
a script mapping that uses a different version of the .Net framework, this miss-configuration
can cause issues.
Fix this error by changing the offending script mapping to use the same version
of the .Net framework as the rest of the Web Application.
3. Web Application has an Application Pool specified, but the Application Pool does
not exist
This can happen if you edit the Metabase directly, and remove an application pool
that is still in use by one or more Web Applications.
Resolve this error by changing the Application Pool on each web application to a
valid Application Pool.
Version History
v1.1 (9/26/2008)
- Changed XML config file loader to accomodate more variations of configuration files.
(Thanks George Coney for sending samples.)
v1.0 (6/4/2008)