In my last post I mentioned that I had some issues getting a version 1.1 app to run with 2.0 installed on a higher level.
Here’s the scenario: My main site is set up with ASP.NET 2.0 and there are several subsites – each configured as virtuals – to run with ASP.NET 1.1. So my main site runs 2.0 and my Web Log running .TEXT runs 1.1.
Trying to run the Web Log fails however:
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
Parser Error Message: Unrecognized attribute 'xmlns'.
Source Error:
Line 1: <?xml version="1.0"?>
Line 2: <configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
Line 3: <!--
Line 4: |
Source File: D:\Westwind\web.config Line: 2
This namespace reference comes from the Root Web, the 2.0 web, not from the 1.1 web.config running for the current application.
The problem is the Web.Config schema changes in the 2.0 files. Now I’m not really sure why IIS is even looking in the root directory since the application officially runs in the virtual and should only be looking at the web.config file in the virtual not the root.
Removing the offending namespace reference makes the app run but I suspect once I start adding new 2.0 tags to the web.config in the root it will break the code in 1.1 again.
This pretty much puts an end to my consideration of putting 2.0 on my life server right here at least for the root site...
Anybody have any idea why ASP.NET is even looking in the root? If I understand the hierarchy correctly it should go machine.config/virtual web.config/sub dir web.config… Since the directory of the application is a virtual the application tree should start there. Hmm… the root may be a special case though because the client side library stuff is copied there.
Other Posts you might also like