Asp.Net aspparse circular reference error only on command line build - asp.net

I have an Asp.Net website project that builds fine locally with VS2010 and from the command line with msbuild. The problem is its failing on our build server (CruiseControl.net) with this circular file reference issue
/tms/_master/help.master(1): error ASPPARSE: Circular file references are not allowed. [C:\ccnet\working\master\Tms.Rms.Website\tms.metaproj]
/tms/_master/reporting-detail.master(2): error ASPPARSE: Circular file references are not allowed. [C:\ccnet\working\master\Tms.Rms.Website\tms.metaproj]
/tms/_master/mvc.master(1): error ASPPARSE: Circular file references are not allowed. [C:\ccnet\working\master\Tms.Rms.Website\tms.metaproj]
I don't see anything obvious about the way pages/folders/or controls are laid out as suggested in other questions related to this error, and I have zero feedback from VS2010 locally as it doesn't have the problem at all. (it builds ok)
Anyone know how I can track this issue down locally, or what may be the cause of different build results between machines?
Local build environment: vs2010, msbuild 4.0, building as myself
Build server environment: msbuild 4.0, building as ccnet service account (no vs2010 installed or available)
I also have the same version of ccnet setup locally with he same configuration building successfully.

It's worth noting that the circular reference errors above seem to occur on "nested" master pages with the MasterPageFile attribute. e.g.
<%# Master MasterPageFile="~/_master/base.master" CodeFile="help.master.cs" Inherits="_master_help" %>

Related

Why isn't ASP.NET app throwing a System.IO.FileLoadException?

We have an ASP.NET app with N number of projects. Two projects both reference a third party library - DocumentFormat.OpenXml.dll. One project - project A - references version 2.0.5022.0 of the library. Another project - project B - references version 2.5.5631.0 of the library. We get a build warning when the solution is built about the conflict between the two versions of the same DLL. Version 2.5.5631.0 is the version that ends up in the \bin directory.
At runtime, when I test the functionality provided by assembly A (built from project A) on an internal QA server, the functionality works. However, that's not what I expected. I expected to get a System.IO.FileLoadException error:
System.IO.FileLoadException: Could not load file or assembly 'DocumentFormat.OpenXml, Version=2.0.5022.0...
Note that there are no bindingRedirects for this DLL in the web.config file of the app.
The reason why this issue came to my attention is that we are in fact getting the System.IO.FileLoadException error message on a customer's server. I can't understand why we're not getting the same error on our QA server. Any ideas?

VS2013 ASP.NET 4.0 Usercontrols. Circular file references are not allowed

Our developers are getting the following 2 errors when building ASP.NET websites in Visual Studio 2013 specifically, which we never got before:
"The type exists in both ... and ..." and "Circular file references
are not allowed.". The 'File' field in the error is always a
usercontrol.
A few forum posts suggest adding batch="false" to the compilation section in the web.config, but this does not work, build successfully once, then next build fails again.
I installed VS2013 Update 2. No change. Our projects always build successfully on previous versions of VS, we made not code changes.
Anyone have any suggestions?

After migrating a website from vs2005 to vs2010 we get a build error - ASPPARSE: Object reference not set to an instance of an object.?

We have a VS2005 solution including two websites.
We converted the solution to VS2010 and changed all settings in IIS and in the config file to use .NET framework 4.0.
We removed the old assembly references in web.config file and added references to the new versions of the assemblies and here the problem comes: when we add a refererence to System.Design assembly in the web.config file the website does not build. The build via msbuild.exe results in the following error:
ASPNETCOMPILER : error ASPPARSE: Object reference not set to an instance of an object. [d:\DevSites\SolutionFolder\WebSite.metaproj]
Does anyone have any suggestions why this happens? Thanks.
We've solved it - after the removal of the browser definition file the problem disappeared

how to work out what Visual studio 2010 asp/silverlight project using .net framework 3.5 dependancies are missing

I have a Silverlight site hosted in an asp page, it has been developed using vs2010 using .net 3.5 framework and silverlight 4. It all works on my dev box. However when I publish the site and get it deployed I get the error:
Could not load file or assembly 'Moe.Tactical.Ttas.Web' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.BadImageFormatException: Could not load file or assembly 'Moe.Tactical.Ttas.Web' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded.
I have checked that the ISS asp setting are using 2.0.50727, and that all my references are using that runtime also.
I am not sure what to do to work out what the missing dependencies are at this point (I don't have access to the deployment box, I will have to go and sit with a system admin).
This looks like a case of the GAC, and nothing to do with Silverlight/VS 2010/whatever.
Basically that assembly lives in the GAC of your dev box, but now on your production box, and the DLL is not included in your build.
I was actually exactly the opposite of 'TheGeekYouNeed's suggestion ... the system administrator had not followed my instructions, and had included a couple of extra assemblies in my bin folder, lol.
So interestingly it was complaining about having an extra file! (well actually an extra file that was probably a .net 4 one)

Difference in DLL when compiling on Build Server instead of Dev Machine

I have an application that loads user controls into .NET web application. When I compile and test the application locally on my dev machine it works on my machine. The project builds successfully using MSBuild on our build server. However when I deploy the dll generated by MSBuild on the build server I get the following error when the application loads the control:
BC30456: 'CreateResourceBasedLiteralControl' is not a member of 'ASP.usercontrols_somecontrol_ascx'.
I took a look and compared the dll generated on my machine and compared it(looked at the file size) with the one created by the build server and noticed
a difference in the file size. This is confusing considering the code being built locally and on the build server is IDENTICAL. I manually compared each file by hand. So my question is: What is causing this error? What would be different between MSBuild's compilation of the code and what is going on in Visual Studio when compiling the code?
You've got a versioning issue. Some assemblies are different on your target machine than on your dev machine. I'm afraid you're going to have to do some digging to hunt it down, since this error message is entirely unhelpful. Really it's pointing you in the wrong direction since the problem isn't in your assembly. It's probably caused by something in your project References. Have you got some 3rd party tool or SDK on your dev machine that hasn't been updated on the server yet?
The last time I saw this was when I had built a DotNetNuke module that was built against a newer DotNetNuke.dll assembly than my server had.
If you compile that as dll.
Try delete App_Code.dll in bin folder.

Resources