IIs错误:应用程序Codebehind =“Global.asax.cs”Inherits =“nadeem.MvcApplication”

时间:2014-06-01 12:02:58

标签: c# asp.net asp.net-mvc-3

我正在尝试部署我的网络项目,并且我一直收到此错误:

Line 1: <%@ Application Codebehind=“Global.asax.cs” Inherits=“nadeem.MvcApplication” Language=“C#” %>

我查看了这篇文章:Parser Error: Server Error in '/' Application

但它在我的项目中是当前的。

我怀疑我的iis7配置。

有什么想法吗?

Global.asax:

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

的Global.asax.cs:

namespace TamalTest
{
using System;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;

public class MvcApplication : HttpApplication
{
    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();
        RegisterGlobalFilters(GlobalFilters.Filters);
        RegisterRoutes(RouteTable.Routes);
    }

    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new HandleErrorAttribute());
    }

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
    }
}

}

22 个答案:

答案 0 :(得分:23)

已解决,只是重命名 Global.asax 或删除它修复了问题:/

我在网上发现的其他已知相关错误:

  1. Global.asax.cs :必须继承自HttpApplication -> public class MvcApplication : HttpApplication
  2. 项目输出必须是bin文件夹,而不是 Bin / Debug
  3. Iss应用程序池的版本不正确。

答案 1 :(得分:5)

您可以通过编辑Globas.asax文件(而不是Global.asax.cs)来更改它。在Windows资源管理器的app文件夹中找到它,然后编辑

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

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

答案 2 :(得分:3)

可能由于清洁溶液而发生。垃圾箱中的dll将被移除。 1.清洁解决方案 2.重建解决方案 3.如果构建过程失败,则并非所有必需的dll都将存储在bin中。 这是发生错误的另一种情况

答案 3 :(得分:2)

这很奇怪。每次我遇到这个问题,都有不同的解决方案。这次所有以前的修复失败,然后我将项目输出路径从Bin更改为.. \ Build \ Bin。它失败了。将输出路径恢复为先前的值,即Bin修复了该问题。

答案 4 :(得分:1)

如果您更改了项目的命名空间,则可能会出现问题。

从项目属性更改命名空间,并用新的命名空间替换所有旧命名空间。 重命名以更正名称空间可能会解决问题。

Source

答案 5 :(得分:1)

我有同样的错误。通过以下步骤即可解决

转到IIS->查找您的站点->右键单击该站点->管理网站->高级设置->检查您的物理路径是否正确。

如果错误,请找到正确的路径。这样可以解决问题。

答案 6 :(得分:0)

Right Click > Open Folder in File Explorer

如果您在目录中,请找到 Global.asax 而不是 Global.asax.cs

Right click on Global.asax file then find Open with

Change Inherits="ProjectNameThatHasError.MvcApplication" to Inherits="YourNamespaceNow.MvcApplication"

无论如何,您都可以在记事本,Visual Studio中的任何版本中打开它,

答案 7 :(得分:0)

唯一适合我的解决方案

  1. 运行,键入命令%Temp%->删除“ ASP.NET临时文件”。

我尝试过的其他解决方案都没有用。

  1. 清洁/重建

  2. 清洁箱,obj文件夹

  3. 更改命名空间

答案 8 :(得分:0)

从另一个系统复制项目时,我遇到了同样的问题。就我而言,我已解决此问题:

从Bin文件夹中删除所有内容。 再次清洁并重建应用程序

希望这会有所帮助。

答案 9 :(得分:0)

就我而言,这也是由旧的dll引起的。清理所有文件,然后重建。

答案 10 :(得分:0)

在更改我们的解决方案/项目的名称后,我发现这个问题发生在我和同事身上。

我的同事引起的问题:我将更改放入分支机构并出现错误。在我的bin文件夹中,我找到了旧的.dll文件以及新命名的.dll文件。删除了旧的,问题就消失了。

答案 11 :(得分:0)

就我而言,此问题已通过将解决方案平台从AnyCPU更改为x86来解决。

答案 12 :(得分:0)

以上对我没有任何帮助。一切都正确。

关闭Visual Studio,然后重新打开。这样就解决了我的问题。

该问题可能是由不同版本的Visual Studio引起的。我有Visual Studio 2017和2019。我同时在两个版本上打开了该项目。这可能创建了不同的vs文件集。

关闭Visual Studio的任何实例,然后再次打开。

答案 13 :(得分:0)

我在WebAPI(相关的MVC)中会遇到类似的问题。

我固定为:

在.asax文件(不是asax.cs)中继承“ .Global”

Inherits="mynamespace.WebAPI.Global" 

并更改公共类(asax.cs)

public class Global : System.Web.HttpApplication

答案 14 :(得分:0)

删除Global.asax并重新启动Visual Studio对我来说解决了这个问题。

答案 15 :(得分:0)

我遇到了类似的错误,尝试了上述所有建议,但没有解决。对我有用的是:

右键单击您的Global.asax文件,然后单击View Markup。您将看到属性Inherits="nadeem.MvcApplication"。这意味着您的Global.asax文件正在尝试从nadeem.MvcApplication类型继承。

现在,双击您的Global.asax文件,看看您的Global.asax.cs文件中指定的类名是什么。它应该看起来像这样:

namespace nadeem
{

public class MvcApplication: System.Web.HttpApplication
    {
    ....

但是,如果它看起来不是上面的样子,则会收到该错误,您的Global.asax文件的Inherits属性中的值必须与从System.Web.HttpApplication派生的类型匹配。

检查以下链接以获取更多信息:

Parser Error: Server Error in '/' Application

答案 16 :(得分:0)

就我而言,我复制了项目并将其粘贴为另一个项目。 Global.asax文件包含错误的文件名,因此我只需更改

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

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

答案 17 :(得分:0)

确保 继承 指向该类的正确命名空间,因为在解决方案下创建MVC项目时 继承 值将错过项目名称。因此,您需要手动填补空白(项目名称)。

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

答案 18 :(得分:0)

我在IIS Express上遇到了同样的错误。就我而言,我有两个项目作为启动项目。我将解决方案的属性更改为单个启动项目并运行它。然后将其更改为先前的设置并再次运行解决方案,并且没有再次发生错误!

答案 19 :(得分:0)

在我的情况下,IIS上的网站指向的是与我在visual studio上运行的项目不同的项目。

答案 20 :(得分:0)

在我的情况下,命名空间重命名后出现问题。我没有使用像Re-sharper这样的外部工具,我手动重命名。

在该过程中,Views / Web.config文件保持不变。用此文件中的新命名空间名称替换旧命名空间名称后,错误消失了。

答案 21 :(得分:0)

我也遇到了这个错误,我从我的调试文件夹中删除了dll,当我启动一个新的调试实例时,我收到了这个错误。对我来说问题是由于构建设置,在构建类型中选择了Release,我只是将其更改为调试,然后应用程序正常工作