title: MapMvcAttributeRoutes: This method cannot be called during the application's pre-start initialization phase
body: <p>I have a very simple test in a test project in a solution using ASP MVC V5 and attribute routing. Attribute routing and the <code>MapMvcAttributeRoutes</code> method are part of ASP MVC 5.</p>
  
  <pre><code>[Test]
  public void HasRoutesInTable()
  {
      var routes = new RouteCollection();
      routes.MapMvcAttributeRoutes();
      Assert.That(routes.Count, Is.GreaterThan(0));
  }
  </code></pre>
  
  <p>This results in: </p>
  
  <pre><code>System.InvalidOperationException : 
  This method cannot be called during the applications pre-start initialization phase.
  </code></pre>
  
  <p>Most of the answers to this error message involve configuring membership providers in the <code>web.config</code> file. This project has neither membership providers or a <code>web.config</code> file so the error seems be be occurring for some other reason. How do I move the code out of this "pre-start" state so that the tests can run?</p>
  
  <p>The equivalent code for attributes on <code>ApiController</code> works fine after <code>HttpConfiguration.EnsureInitialized()</code> is called.</p>