Я разрабатываю очень простое приложение стиля SPA, и я не хочу использовать бритву, поэтому мне просто нужно, чтобы она отображалась в HTML файлах (из папки wwwroot), за исключением тех случаев, когда js вызывает мои контроллеры API. В Web API 2 вы можете заставить маршрутизатор игнорировать файлы HTML, чтобы они обслуживались напрямую, например.
config.Routes.IgnoreRoute("Html", "{whatever}.html/{*pathInfo}");
похож на этот пример: http://www.strathweb.com/2014/04/ignoring-routes-asp-net-web-api/ - функциональность IgnoreRoute просто не реализована или была изменена?
На данный момент, если у меня есть app.UseMvc(); в моем Startup.cs любой запрос на получение "/" получает мне это исключение:
An unhandled exception occurred while processing the request.
InvalidOperationException: The view 'Index' was not found. The following locations were searched:
/Views/Home/Index.cshtml
/Views/Shared/Index.cshtml.
Microsoft.AspNet.Mvc.Rendering.ViewEngineResult.EnsureSuccessful()
Но когда я оставляю его без MVC, он обслуживает файл index.html, когда вы запрашиваете "/" - очевидно, мои контроллеры API не будут работать, хотя.