我有一个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行:<%@ Application Codebehind =“Global.asax.cs”Inherits = “integration_finale.MvcApplication”语言=“C#”%>
源文件:/ global.asax Line:1
版本信息:Microsoft .NET Framework版本: 4.0.30319; ASP.NET版本:4.0.30319.18056
那么问题是什么?我该如何解决?
答案 0 :(得分:4)
当IIS Express无法加载包含所请求类的任何库时,抛出此错误,在本例中为integration_finale.MvcApplication
。它无法找到库的事实可能有很多原因,here,here和here有一些原因。
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
指向您当前的项目。在满足physicalPath
的情况下,对该端口的每个请求都是从virtualDirectory
提供的(在这种情况下,大多数情况下,因为只有一个虚拟目录,从站点的根开始)。
如果重命名项目目录,或者有两个项目使用相同的端口,那么IIS Express中的内容会中断。可能的修复:
physicalPath
。{/ li>的virtualDirectory