Ошибка ASP.NET Core 404 при публикации в IIS 7.5
Я использую Visual Studio 2015 для публикации своего приложения ASP.NET Core в IIS 7.5. Все, что я пытаюсь сделать, это просмотреть обычную страницу default.htm в моем wwwroot. Все отлично работает, когда я использую IIS Express VS, однако, когда я публикую это в IIS 7.5 и указываю физический путь к папке wwwroot, которую Visual Studio создала при публикации, я получаю только пустой экран (404). Что странно, когда я запускаю метод app.run по умолчанию из метода Configure в файле startup.cs, он отлично работает:
app.Run(async (context) =>
{
await context.Response.WriteAsync("Hello World!");
});
Однако, когда я комментирую это, использую app.UseDefaultFiles () и app.UseStaticFiles (), я ничего не получаю. Вот мой файл 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);
}
Вот мой файл 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>
А вот мой файл 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"
]
}
Я уже убедился, что у меня загружен httpPlatformHandler v1.2, и когда я публикуюсь из VS, я нацеливаюсь на DNX-версию dnx-clr-winx86.1.0.0-rc1-update1 вместе с установкой галочки на 2 опции ниже (удалить все существующие файлы перед публикацией, и скомпилируйте исходные файлы в пакеты NuGet). Все отлично работает в IIS Express. Это когда я пытаюсь использовать IIS 7.5, когда он начинает становиться фанк.
Какие-либо предложения?