IIs Error: Application Codebehind=“Global.asax.cs” Inherits=

本文关键字:asax cs Inherits Global Application Codebehind IIs Error | 更新日期: 2023-09-27 18:06:11

我正在尝试部署我的web项目,我一直得到这个错误:

Line 1: <%@ Application Codebehind=“Global.asax.cs” Inherits=“nadeem.MvcApplication” Language=“C#” %>
解析器错误:Server Error in '/'应用

但它是当前在我的项目。

我怀疑我的iis7配置有问题。

任何想法?

全球。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}");
    }
}

}

IIs Error: Application Codebehind=“Global.asax.cs” Inherits=

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

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

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

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

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

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

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

如果您更改了项目的名称空间,则可能发生错误。

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

来源

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

当从另一个系统复制项目时,我遇到了同样的问题。在我的情况下,我修复了这个问题:

删除Bin文件夹中的所有内容。 清洁,重新构建应用程序

希望这将帮助。

以上都不适合我。一切都是正确的。

关闭Visual Studio并重新打开。这解决了我的问题。

这个问题可能是由不同版本的visual studio引起的。我有Visual studio 2017和2019。我同时打开了两个版本的项目。这可能会创建一组不同的vs文件。

关闭Visual Studio的任何实例,然后重新打开。

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

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

如果错误,请定位正确的路径。这将解决问题。

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

在我的情况下,问题发生在命名空间重命名后。我没有使用外部工具,如Re-sharper,我手动重命名。

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

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

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

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

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

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

右键单击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派生的类型。

查看下面的链接获取更多信息:

解析器错误:Server Error in '/'应用程序

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

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

I fixed with:

添加"。全局"在.asax文件中继承(而不是asax.cs)

Inherits="mynamespace.WebAPI.Global" 

和修改公共类(asax.cs)

public class Global : System.Web.HttpApplication

在我的案例中,通过将解决方案平台从AnyCPU更改为x86,解决了这个问题。

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

由我的同事引起的问题:我将更改拉入分支并出现错误。在我的bin文件夹中,我发现旧的。dll文件与新命名的。dll文件放在一起。删除旧的,问题就解决了。

在我的例子中,它也是由旧的dll引起的。清理所有文件,然后重建。

唯一适合我的解决方案

  1. 运行,键入命令%Temp% ->删除"临时ASP"。网络文件"。

我尝试了其他解决方案,但都不起作用。

  1. 清洁/重建

  2. 清理bin, obj文件夹

  3. 改变名称空间

右键单击>在文件资源管理器中打开文件夹

如果在目录中,找到Global。asax Global.asax.cs

右键单击Global。asax文件然后找到Open with

继承= " ProjectNameThatHasError变化。mvapplication " to Inherits="YourNamespaceNow. "MvcApplication "

你可以在记事本,Visual Studio任何版本中打开它,无论如何你都会编辑文本。

检查导入的引用是否为目标框架版本。在我的例子中,我添加了一个不同于Target框架的引用。

遇到同样的问题,卸载并重新加载项目。确保全球。Asax包含在项目

对于上面的错误我删除了全局。Asax文件然后重新启动visual studio。

在我的例子中,我复制了项目并将其粘贴为另一个项目。Global.asax文件包含错误的文件名,所以我只更改

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

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