I have an ASP.NET 5 solution with a website and several project libraries. I\'m using MVC 6 and Entity Framework 7. Locally the app is working fine and until today it was wo
Errors that occur in startup in an ASPNET5 application are really hard to track down when running the app in Azure (at least with beta 3). Hopefully they find a way to improve the experience. I had to resort to stripping my startup down to the bare bones and then adding code line by line until the failure happened (in my case, it was a missing environment variable).
I've also used code like this (for debugging only) which might help depending on where the error is happening:
public void Configure(IApplicationBuilder app, IHostingEnvironment env )
{
try
{
// Add MVC to the request pipeline.
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller}/{action}/{id?}"
);
});
}
//exceptions in startup are really bad when running in azure, all you will get is an internal server error
//this code will write the exception message to the browser instead. Only use for debugging!!!
catch (Exception ex)
{
app.Run(async context =>
{
context.Response.ContentType = "text/plain";
await context.Response.WriteAsync(ex.Message);
});
}
}
Update 10/27/2016 A lot has changed since my original answer. The latest guidance is posted here:
https://docs.asp.net/en/latest/fundamentals/hosting.html
So, add:
.CaptureStartupErrors(true) and .UseSetting(WebHostDefaults.DetailedErrorsKey, "true") on your WebHostBuilder like so:
var host = new WebHostBuilder()
.CaptureStartupErrors(true)
.UseSetting(WebHostDefaults.DetailedErrorsKey, "true")
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup()
.Build();