Microsoft KB Archive/918830

= You receive a configuration error message when you browse a child ASP.NET 1.0 or child ASP.NET 1.1 application that is nested under a parent ASP.NET application =

Article ID: 918830

Article Last Modified on 5/11/2007

-

APPLIES TO


 * Microsoft ASP.NET 1.1
 * Microsoft ASP.NET 1.0

-





SYMPTOMS
Consider the following scenario:
 * You create a Microsoft ASP.NET 1.0 or ASP.NET 1.1 child application that is nested under an ASP.NET parent application. For example, the Web site contains the following structure:
 * http://contoso.com
 * http://contoso.com/research
 * The Web.config file for the parent ASP.NET application (http://contoso.com) contains an &quot;&quot; section that references an HTTP module. Additionally, all the following conditions are true:
 * The HTTP module is not a strong-named assembly. Therefore, the HTTP module is not located in the global assembly cache.
 * The HTTP module is not in the Bin folder of the child ASP.NET application.

In this scenario, when you browse the child ASP.NET application, you receive an error message that resembles the following:

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: File or assembly name, or one of its dependencies, was not found.

Source Error:

Line 14: -->

Line 15: 

Line 16: 

Line 17: 

Line 18: 

CAUSE
This problem occurs because child ASP.NET applications inherit the parent ASP.NET application settings that are in the Web.config file. Therefore, when you browse a child ASP.NET application, it looks for the parent application HTTP module in the child Bin folder. If the child application cannot find the HTTP module, the application looks in the global assembly cache. Because the HTTP module is not a strong-named assembly, the HTTP module is not in the global assembly cache. Therefore, you receive the error message that is mentioned in the &quot;Symptoms&quot; section.



WORKAROUND
To work around this problem, use one of the following methods. Use the method that is most appropriate to the situation.

Method 1: Create a strong-named assembly
You can create an HTTP module that is a strong-named assembly, and then add the assembly to the Web server global assembly cache. For more information about how to create and use strong-named assemblies, visit the following Microsoft Developer Network (MSDN) Web site:

http://msdn2.microsoft.com/en-us/library/xwb8f617(vs.71).aspx

Method 2: Copy the DLL assembly file to the child Bin folder
Manually copy the DLL assembly file for the HTTP module to the Bin folder of the child ASP.NET application.

Method 3: Upgrade the applications to ASP.NET 2.0
You can upgrade the ASP.NET applications to ASP.NET 2.0. The problem does not occur in ASP.NET 2.0 because of architectural improvements in application configuration settings. For more information about how to upgrade to ASP.NET 2.0, visit the following MSDN Web site:

http://msdn2.microsoft.com/en-us/asp.net/aa336650.aspx



STATUS
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the &quot;Applies to&quot; section.



MORE INFORMATION
You cannot work around the error by removing the HTTP module name or by clearing the HTTP module name in the Web.config file of the child ASP.NET application. For example, the following Web.config statements do not resolve the problem:

Example 1: You remove the HTTP module name
   Note  represents the name of the HTTP module.

Example 2: You clear the HTTP module name
 

