By default, ASP.NET routers cannot point to an HTML page, such as:

routes.MapPageRoute("route1", "{*placeholder}", "~/index.html");

This code is blocked by IIS by default and throws an error message, similar to the “not registered build provider for the extension “.html”. …” , the following is to guide you to register one in web. config, and finally add such a section below the compilation node in web. config.

<buildProviders>
    <add extension=".html" type="System.Web.Compilation.PageBuildProvider" />
</buildProviders>