Erro ASP.NET Core 404 quando publicado no IIS 7.5
Estou usando o Visual Studio 2015 para publicar meu aplicativo ASP.NET Core no IIS 7.5. Tudo o que estou tentando fazer é exibir uma página default.htm normal no meu wwwroot. Tudo funciona bem quando uso o IIS Express do VS, no entanto, quando publico, é para o IIS 7.5 e aponto o caminho físico para a pasta wwwroot que o Visual Studio criou na publicação, não recebo nada além de uma tela em branco (404). O que é estranho é que, quando executo o método app.run padrão no método Configure do startup.cs, ele funciona perfeitamente:
app.Run(async (context) =>
{
await context.Response.WriteAsync("Hello World!");
});
No entanto, quando eu comentar isso, use os app.UseDefaultFiles () e app.UseStaticFiles (), não recebo nada. Aqui está o meu arquivo Startup.cs:
public class Startup
{
// This method gets called by the runtime. Use this method to add services to the container.
// For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=398940
public void ConfigureServices(IServiceCollection services)
{
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app)
{
app.UseIISPlatformHandler();
//app.UseDirectoryBrowser();
//app.UseDefaultFiles();
//app.UseStaticFiles();
app.Run(async (context) =>
{
await context.Response.WriteAsync("Hello World!");
});
}
// Entry point for the application.
public static void Main(string[] args) => WebApplication.Run<Startup>(args);
}
Aqui está o meu arquivo web.config:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified"/>
</handlers>
<httpPlatform processPath="%DNX_PATH%" arguments="%DNX_ARGS%" stdoutLogEnabled="false" startupTimeLimit="3600"/>
</system.webServer>
</configuration>
E aqui está o meu arquivo project.json:
{
"version": "1.0.0-*",
"compilationOptions": {
"emitEntryPoint": true
},
"dependencies": {
"Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
"Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
"Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final"
},
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel"
},
"frameworks": {
"dnx451": { },
"dnxcore50": { }
},
"exclude": [
"wwwroot",
"node_modules"
],
"publishExclude": [
"**.user",
"**.vspscc"
]
}
Já verifiquei se o httpPlatformHandler v1.2 foi baixado e, quando publico no VS, tenho como alvo a versão DNX dnx-clr-winx86.1.0.0-rc1-update1, além de marcar as 2 opções abaixo (excluir todos os arquivos existentes antes da publicação e compile os arquivos de origem nos pacotes NuGet). Tudo funciona bem no IIS Express. É quando tento usar o IIS 7.5 é quando ele começa a ficar desagradável.
Alguma sugestão?