MVC 5 Application_Start未运行

时间:2014-12-04 04:20:47

标签: c# asp.net-mvc visual-studio-2013

我有一个使用Visual Studio 2010构建的旧MVC应用程序。然后我使用Visual Studio 2013升级到MVC 5并升级了NuGet包。它构建,但是当我通过Visual Studio运行应用程序时,它无法找到主视图。我将其追溯到Global.asax并发现Application_Start永远不会被调用,然后路由永远不会被设置。

我在这里找到了一些关于这个问题的问题,但没有一个解决方案适合我。

Application_start not working

Application_Start not firing?

这看起来很简单,但我无法找到解决方法。有什么想法吗?

3 个答案:

答案 0 :(得分:5)

我几次遇到这个问题并尝试了很多解决方法。 对我有用的是,

  1. 开始调试您的应用程序(F5)
  2. 打开你的global.asax文件(它的global.asax不是global.asax.cs)
  3. 更改该文件中的内容(放置一些空格或其他内容并保存)
  4. 现在在浏览器中刷新您的页面。
  5. 你会看到你的application_start会遇到断点。
  6. 解决方案2

    1. 清除临时目录
    2. 重新启动IIS(转到命令提示符并说出iisreset)
    3. 开始调试您的应用程序
    4. 然后将您的申请与该流程联系起来。

答案 1 :(得分:4)

同样的事情发生在我身上,Global.asax.cs根本没有被调用......

就我的情况而言,Inherits

中缺少Global.asax属性
<%@ Application Codebehind="Global.asax.cs" Language="C#" %>

所以在我改变之后,它就有效了!

<%@ Application Codebehind="Global.asax.cs" Inherits="MyAwesomeApp.MvcApplication" Language="C#" %>

答案 2 :(得分:3)

  • 在Application_Start
  • 中放置断点
  • 打开您的Web.Config
  • 调试您的应用程序(F5)
  • 更改Web.Config中的任何内容(添加空行就足够了)
  • 刷新您的网页
  • 将触发Application_Start

由于在触发Application_Start之后附加调试器,因此单独重置IIS无法解决问题。