修复global.asax中的语法错误

Lam*_*fif 2 .net c# asp.net asp.net-mvc asp.net-mvc-4

我有一个asp.net mvc4应用程序。我的Global.asax档案有问题

演示

Global.asax.cs中

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http;
using System.Web.Mvc;
using System.Web.Routing;

namespace integration_finale
{

    public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我启动应用程序时,出现此错误:

演示2

翻译成英文

“ /”应用程序中的服务器错误。分析错误说明:在满足此需求资源的需求分析期间发生错误。请在下面查看有问题的错误分析的详细信息,并适当地修改您的源文件。

消息解析器错误:无法加载类型'integration_finale.MvcApplication'。

源错误:

第1行:<%@ Application Codebehind =“ Global.asax.cs” Inherits =“ integration_finale.MvcApplication”语言=“ C#”%>

源文件:/ global.asax行:1

版本信息:Microsoft NET Framework版本:。4.0.30319; ASP.NET版本:4.0.30319.18056

那么问题是什么,我该如何解决?

Cod*_*ter 5

当IIS Express无法加载任何包含请求的类的库时,将引发此错误integration_finale.MvcApplication。它找不到库的事实可能有很多原因,在这里这里这里列出了一些原因。

IIS Express为此增加了一个全新的混乱层。您在IIS Express中为给定端口注册的第一个应用程序将注册其项目路径。当您重命名项目或运行配置了较早注册端口的新项目时,IIS Express会很乐意从错误的目录开始提供服务。当您具有相同的项目(例如,DEV和ACC分支,因此可以找到包含具有相同名称的Web应用程序的库)时,这尤其有趣,因为在浏览器中看到的内容与您所期望的不一样成为。

打开您的My Documents\IISExpress\config\appplicationhost.config,然后搜索为错误给出的Web应用程序配置的端口。您会看到如下部分:

<site name="YourWebsiteName" id="1">
    <application path="/" applicationPool="Clr4IntegratedAppPool">
        <virtualDirectory path="/" physicalPath="C:\Source\WebsiteProject" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation="*:1234:localhost" />
    </bindings>
</site>
Run Code Online (Sandbox Code Playgroud)

检查应用程序部分并验证physicalPath是否指向您当前的项目。到该端口的每个请求是从投放physicalPath,考虑到virtualDirectory满足(这是在这一点,大多数情况下,因为只有一个虚拟目录,开始在站点的根目录)。

如果您重命名项目目录,或使用相同的端口有两个项目,则IIS Express会中断。可能的修复:

  • 只需在VS的属性窗口中更改用于IIS Express的Web项目的端口即可。这将创建一个新的IIS Express网站。
  • 单击项目配置中的“创建虚拟目录”按钮。这通常在重命名后有效,但在复制后无效。
  • 修改IIS Express的配置(当然要进行备份)。在需要时可以重命名的网站和纠正physicalPathvirtualDirectory