MVC4 - Existe uma maneira de rotear a raiz para uma página html não processada “normal”?

Eu tenho um aplicativo MVC4, mas estou usando principalmente para as partes WebAPI. Eu quero ter um arquivo "plain old HTML" enviado de volta para o usuário (que então usará o KnockoutJS ou o KendoUI para extrair o JSON dos controladores webapi).

Eu sei que posso fazer isso:

routes.IgnoreRoute("{page}.html");

E então, se eu navegar para "localhost / index.html", ele retornará com êxito minha página .html. No entanto, eu realmente quero mapear o caminho padrão "root" "localhost /" para retornar meu index.html.

Eu tentei isso:

routes.MapPageRoute("root", "", "~/index.html");

mas isso lança o erro:

Não há nenhum provedor de construção registrado para a extensão '.html'. Você pode registrar um na seção <compilation> <buildProviders> em machine.config ou web.config. Certifique-se de que possui um atributo BuildProviderAppliesToAttribute, que inclui o valor 'Web' ou 'All'.

Alguém tem alguma ideia de como eu posso fazer isso funcionar? Eu poderia apenas acertar um controlador padrão que retorna uma página html simples, mas parece um exagero percorrer toda a pilha do ASP.NET uma vez para a página HTML, que então apenas chama uma URL WebAPI para voltar pela pilha do ASP.NET para obter alguns dados JSON para o modelo da página.

Eu basicamente só quero "pular" todos os encanamentos do MVC e ter o IIS me mandando de volta a página html, como se não fosse um aplicativo ASP.NET, ou pelo menos fazer o menor processamento possível.

questionAnswers(1)

yourAnswerToTheQuestion