Microsoft small business knowledge base

Article ID: 919284 - Last Review: July 25, 2006 - Revision: 1.2


On This Page


When you try to run a Microsoft ASP.NET 2.0 Web application that is built on the Microsoft .NET Framework 2.0, you may receive an error message that resembles one of the following error messages:
The base class includes the field 'MyControl_1', but its type (MyControl) is not compatible with the type of control (ASP.MyControl_ascx).
Unable to cast object of type 'ASP.MyControl_ascx' to type 'MyNameSpace.MyControl '.
Circular file references are not allowed.
Note In these error messages, MyControl is the name of the control that has caused the error. MyNameSpace is the name of the namespace that this control is a member of


This is problem occurs because of the way in which ASP.NET 2.0 uses the application references and the folder structure of the application to compile the application. If the batch property of the <compilation> element in the web.config file for the application is set to true, ASP.NET 2.0 compiles each folder in the application into a separate assembly. In this scenario, a circular reference may occur. Additionally, the compilation process may fail if either of the following conditions is true:
  • The application contains references to Web controls.
  • The application contains references to Web pages that are outside the current directory.


To resolve this problem, use one of the following methods:

Method 1: Modify the web.config file

To modify the web.config file, set the batch property of the <compilation> element in the web.config file for the application to false.

Note This method is recommended only for small applications. In large production applications, when you set the batch property to false, ASP.NET 2.0 compiles each page in the application into a separate assembly. The individual page assemblies are then loaded at the next available memory location. Additionally, the individual page assemblies cannot be moved. This causes memory fragmentation.

Method 2: Reorder the folders in the application

To avoid a circular reference, reorder the folders in the application. To reorder these folders, follow these steps:
  1. Trace the references to the file and from the file that is indicated by the error message.
  2. Identify the circular reference.
  3. To avoid the circular reference, put the referenced files together in the same folder.


For more information about how to use the <compilation> element in the web.config file, visit the following Microsoft Developer Network (MSDN) Web site: (

For more information about another error that can cause an InvalidCastException to be thrown in an ASP.NET-connected Web application, click the following article number to view the article in the Microsoft Knowledge Base:
915782  ( ) FIX: You may receive an InvalidCastException error in an ASP.NET-connected Web application

  • Microsoft ASP.NET 2.0
kbasp kbtshoot kbprb KB919284
Retired KB ArticleRetired KB Content Disclaimer
This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.
Additional support options
Ask The Microsoft Small Business Support Community
Contact Microsoft Small Business Support
Find Microsoft Small Business Support Certified Partner
Find a Microsoft Store For In-Person Small Business Support