【问题标题】:fixing syntax error in global.asax修复 global.asax 中的语法错误
【发布时间】:2013-11-23 02:38:08
【问题描述】:

我有一个 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);
        }
    }
}

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

翻译成英文

“/”应用程序中的服务器错误。 分析错误 描述:在分析满足此需求资源的需求时出错。请看下面的详细信息 有问题的错误分析并修改您的源文件 适当的。

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

来源错误:

第 1 行:

源文件:/global.asax 行:1

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

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

【问题讨论】:

  • 您是否尝试在 Application_Start() 方法中设置断点?
  • 尝试清理并重建整个解决方案。
  • 那条错误信息是什么意思,翻译成英文?
  • @Liam unlocalize.net:“无法加载类型‘类型名称’”.
  • 在我的主文档文件夹中删除 IISExpress 文件夹后,我更改了我的应用程序的端口号,现在它可以工作了。希望能帮助到你。我尝试了我能找到的所有其他方法,这成功了。

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


【解决方案1】:

当 IIS Express 无法加载包含所请求类的任何库时,将引发此错误,在本例中为 integration_finale.MvcApplication。找不到库的原因可能有很多,hereherehere 有几个被命名。

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>

检查应用程序部分并确认physicalPath 指向您当前的项目。假设满足virtualDirectory,则从该physicalPath 提供对该端口的每个请求(在这种情况下以及大多数情况下,因为只有一个虚拟目录,从站点的根目录开始)。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-01
    • 2020-10-30
    • 2019-08-21
    相关资源
    最近更新 更多