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}");
}
}
}
解决了,只是重命名了Global。asax或删除它修复问题:/
我在网上发现的其他已知的相关bug:
-
Global.asax.cs:必须继承
HttpApplication -> public class MvcApplication : HttpApplication
- 项目输出必须是bin文件夹,而不是 bin/Debug等。
- 应用程序池不是正确的。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引起的。清理所有文件,然后重建。
唯一适合我的解决方案
- 运行,键入命令%Temp% ->删除"临时ASP"。网络文件"。
我尝试了其他解决方案,但都不起作用。
-
清洁/重建
-
清理bin, obj文件夹
-
改变名称空间
右键单击>在文件资源管理器中打开文件夹
如果在目录中,找到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#" %>