SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

after changing the page layout of some pages, I got Circular file references are not allowed.

Note : The site was upgraded from 2007.

The last Exception in the stack trace is : Microsoft.sharepoint.ApplicationRuntime.SPVirtualFile.CalculateFileDependecies( HttpContext context, SPRequest...

share|improve this question

can you check this out, it will explain the error for you :)

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 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 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.

without code and full error I and others cant really help!

hope it helps :)

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.