Global.asax can't find code-behind class
Asked Answered
B

4

5

I keep getting this error when I try to run a web app that I have inherited. It was written in 2010 for C# 3.5 and uses Mvc 2. I have installed the necessary libraries however I get this error.

Error 1 Could not load type 'AdminConsole.MvcApplication'. C:\path\to\my\app\Global.asax 1

Global.asax.cs looks like this:

using System.Web.Mvc;
using System.Web.Routing;

namespace AdminConsole
{
    // Note: For instructions on enabling IIS6 or IIS7 classic mode, 
    // visit http://go.microsoft.com/?LinkId=9394801

    public class MvcApplication : System.Web.HttpApplication
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                "Default", // Route name
                "{controller}.aspx/{action}/{id}", // URL with parameters
                new { controller = "Entitlement", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            );

        }

        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            RegisterRoutes(RouteTable.Routes);
        }
    }
}

And Global.asax looks like this: <%@ Application Inherits="AdminConsole.MvcApplication" Language="C#" %>

Boiler answered 2/3, 2012 at 14:50 Comment(1)
Are you sure MVC is installed on the target server and that the DLLs have built?Undertaker
T
9

Add Codebehind="Global.asax.cs" to the Markup file (Global.asax):

From:

<%@ Application Inherits="AdminConsole.MvcApplication" Language="C#" %>

To:

<%@ Application Codebehind="Global.asax.cs"
                Inherits="AdminConsole.MvcApplication" Language="C#" %>
Tirpitz answered 2/3, 2012 at 14:55 Comment(2)
This and moving Global.asax.cs to the App_Data folder, however does fix the error.Boiler
Moving the Global.asax.cs to the App_Code folder works of course too. This really helped thanks!Terrier
A
6

Verify that the project is configured to place your DLLs into the /bin folder and not in /bin/x86/Debug/ (or similar).

Achaea answered 2/3, 2012 at 15:30 Comment(1)
Can't this be configured somehow to work with a Debug or Release Folder?Chism
B
1

My problem was that I had accidentally created a web site instead of a web application. Once I recreated the project it worked fine.

Bryant answered 3/3, 2016 at 21:36 Comment(0)
P
0

As written by @FMM

Verify that the project is configured to place your DLLs into the /bin folder and not in /bin/x86/Debug/ (or similar).

I could check, and resolve my issue, changing the configuration manager. Then, changing the platform, from "x86" to "Any CPU".

1 - configuration manager:

1 - configuration manager

2 - x86 to Any CPU:

2 - x86 to Any CPU

Psychosocial answered 9/6, 2022 at 19:3 Comment(1)
This does not provide an answer to the question. Once you have sufficient reputation you will be able to comment on any post; instead, provide answers that don't require clarification from the asker. - From ReviewMatty

© 2022 - 2024 — McMap. All rights reserved.