我正在尝试部署我的网络项目,并且我一直收到此错误:
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}");
}
}
}
答案 0 :(得分:23)
已解决,只是重命名 Global.asax 或删除它修复了问题:/
我在网上发现的其他已知相关错误:
HttpApplication -> public class MvcApplication : HttpApplication
答案 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)
答案 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
无论如何,您都可以在记事本,Visual Studio中的任何版本中打开它,
答案 7 :(得分:0)
唯一适合我的解决方案
我尝试过的其他解决方案都没有用。
清洁/重建
清洁箱,obj文件夹
更改命名空间
答案 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
派生的类型匹配。
检查以下链接以获取更多信息:
答案 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,我只是将其更改为调试,然后应用程序正常工作