升级到Web API 2后,HttpApplication.Application_Start未触发

我将应用程序升级到Web Api 2,并且Application_Start不会触发在IIS Express上运行的升级后升级。 我的确遵循官方升级路径http://www.asp.net/mvc/tutorials/mvc-5/how-to-upgrade-an-aspnet-mvc-4-and-web-api-project-to- aspnet-mvc-5-and-web-api-2并检查了我的设置。

该应用程序使用StructureMap MVC 4来注入依赖项。 因此,WebActivator的PreApplicationStartMethod被触发,依赖项解析器被正确设置。 之后,无法追踪其他执行。 我启用了编辑并继续,但是在Application_Start的开头没有命中断点。

以下是我尝试过的所有内容: 禁用PreApplicationStartMethod并运行应用程序b。 更改Global.asax的编译设置和c后面的代码。 创建另一个具有类似结构的WebApi2项目,并设置减去实际代码,并且工作正常

我已经清理并运行了应用程序; 还清理了Temp ASP.NET文件夹

感谢帮助解决这个问题。

应用程序启动后,您的调试器会附加,因此您不会在应用程序启动方法中遇到任何断点。 解决方法是在附加到进程时使Web服务器重新启动:

只需编辑您的web.config(只需添加空格)并保存即可,这将使您的http应用程序重新启动。

放一个Debugger.Break(); 在Application_Start中声明,然后执行iisreset或回收您的应用程序池,然后点击F5。 如果断点没有剪切,则应出现一个及时调试器窗口。

确保关闭IIS Express,然后再次关闭F5以查看Application_Start是否被命中。

我刚遇到同样的问题。 global.asax.cs方法Application_Start()没有参数。 一旦我添加了标准的Application_Start(object sender, EventArgs e)该方法就被命中了。