Global.asax parse error after minor change and revert to previous version
Asked Answered
N

4

17

The project in context is:

  • ASP .NET Web Application
  • .NET Framework: 4
  • Platform Target: x86
  • IDE: Visual Studio 2010 Ultimate SP1
  • Multiple projects in solution with ASP .NET being the startup project.

It has been in production for months without glitches until yesterday. I cleaned up the [Global.asax] file (removed unused using statements, refactored, etc.), ran the solution and got the following error:

Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
Parser Error Message: Could not load type 'CloudTech.ATS.WebClient.Global'.
Source File: /global.asax Line: 1
Source Error: Line 1: <%@ Application CodeBehind="Global.asax.cs" Inherits="CloudTech.ATS.WebClient.Global" Language="C#" %>

Error snapshot

Here is the Global.asax Markup:

<%@ Application CodeBehind="Global.asax.cs" Inherits="CloudTech.ATS.WebClient.Global" Language="C#" %>

Here is the Global.asax.cs Code (with internal code removed):

using System;
using System.Linq;

namespace CloudTech.ATS.WebClient
{
    public class Global: System.Web.HttpApplication
    {
    }
}

After wrestling with this error for a while, I searched, restarted my computer, performed a full clean on the solution, force rebuilt but with no avail. Frustrated, I finally changed only the web application target to "Any CPU" and it worked. Unfortunately, "Any CPU" is not an option or a solution to the issue at hand. Changing it back to "x86" brings the same error back. This happened once and since then, no combination of target platform or debug/release configuration works anymore (same error).

Furthermore:

  • My development machines are all x64.
  • Checked in the solution, had multiple colleagues test on their machines (both x86 and x64) with the same result.
  • Restored the entire project to a clean state from 3 days ago and the error still persists!
  • Verified tat absolutely NO changes were made to the Web.config files, or any other files in the solution for that matter.

Lastly, the only change to my development systems has been windows updates (regular security updates) and I have tried the solution on systems without updates with the same results.

Any help would be appreciated.

Niggard answered 18/5, 2013 at 5:34 Comment(0)
C
23

Cleaning the solution and deleting the assemblies made no difference to subsequent builds. My solution was to just change the output path in project settings for the web app to Bin (rather than bin/x86/Debug).

Source:- "Could not load type [Namespace].Global" causing me grief

Caribou answered 18/5, 2013 at 5:40 Comment(2)
My god, that was #@!@# frustrating. Thank you, Thank you, Thank you! I'm surprised this behavior has not been fixed in SP1 for web projects.Niggard
I prefer to keep it in a debug folder, but in some cases changing it to bin then back to bin\debug works. Just run it in between. Its the path change that seems to shake the IDE/IIS combo out of that funk.Warga
D
9

we had a similar issue here.

and what we did was just to close the IDE. and open it again, and then build, then run.

pretty frustrating and confusing.

Denominational answered 28/11, 2013 at 9:43 Comment(3)
In my case restarting the IDE did not help for some reason.Niggard
what we did is clean, re-build, close IDE, open IDE and run.Denominational
@kame, which version are you using? could be a different approach per IDE, as they have been updating per version/IDE.Denominational
E
5

Regular ASP.NET Web Application has 2 files in solution folder:

  1. Global.asax
  2. Global.asax.cs

Make sure that class in Global.asax.cs:

namespace YourWebAppNamespace
{
  public class MvcApplication : HttpApplication
  {
     ...

Has the same/right name in Global.asax:

<%@ Application Codebehind="Global.asax.cs" Inherits="YourWebAppNamespace.MvcApplication" Language="C#" %>

I got an issue with this when I manually changed class name in Global.asax.cs file, so as for result I had the same error as you and from my perspective, it should be more informative. I know that this question already was answered, but maybe my case can be helpful for someone.

Exstipulate answered 27/4, 2017 at 14:50 Comment(0)
P
4
  • using Notepad, edit your Global.asax file to make sure it inherits from your web app's namespace

  • check the project properties for its assembly name and default namespace

  • delete your old assemblies from the bin directory (old project assemblies can cause problems!)

    good luck!

Porshaport answered 24/9, 2015 at 17:37 Comment(1)
although poorly written up this is actually the correct solution to the problem I had. This had a downvote and I upvoted it. The global.asax apparently must sit in the same namespace as web project. i had modified my web projects namespace and the global.asax was using a slightly different one creating this error. Make sure they are in sync is essentially what this answer is saying.Bravissimo

© 2022 - 2024 — McMap. All rights reserved.