V ASP.NET 5 byl od beta8 změněn hosing model na IIS. Již se nepoužívá "Helios" IIS host, místo toho se využívá ASP.NET 5 Kestrel server v konfiguraci s IIS HttpPlatformHandler modulem (více zde). Proto je tento článek deprecated a popsané řešení již nefunguje.
Pokud publishujete aspnet5 webovou aplikaci do IIS na nějakém vzdáleném serveru, například na Microsoft Azure Web Apps, a máte chybu při vlastním startu aplikace, dostanete zobrazenou pouze nic neříkající Oops, 500 Internal Server Error hlášku.
Jak se dozvědět více?
Řešení tohoto problému je následující:
Najít používaný soubor Web.config v adresáři wwwroot webu, v případě Web App můžeme použít přístup přes FTP. Web.config pro aspnet5 hostované v IIS vypadá typicky takto:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="bootstrapper-version" value="1.0.0-beta6" />
<add key="runtime-path" value="..\approot\runtimes" />
<add key="dnx-version" value="1.0.0-beta6" />
<add key="dnx-clr" value="clr" />
<add key="dnx-app-base" value="..\approot\src\MyApp" />
</appSettings>
<system.web>
<httpRuntime targetFramework="4.5.1" />
</system.web>
</configuration>
Do něho je nutné doplnit nastavení klíče ASPNET_DETAILED_ERRORS na hodnotu true.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="bootstrapper-version" value="1.0.0-beta6" />
<add key="runtime-path" value="..\approot\runtimes" />
<add key="dnx-version" value="1.0.0-beta6" />
<add key="dnx-clr" value="clr" />
<add key="dnx-app-base" value="..\approot\src\DC3" />
<!-- This will turn on detailed errors when deployed to remote servers -->
<!-- This setting is not recommended for production -->
<add key="ASPNET_DETAILED_ERRORS" value="true" />
</appSettings>
<system.web>
<httpRuntime targetFramework="4.5.1" />
</system.web>
</configuration>