title: Upgrade to .Net-Core 3.1 causes authenticated controllers to 404
body: <p>I recently upgraded my project to .net-core 3.1  I noticed some bizarre behavior, all of my authenticated controllers 404.  </p>
  
  <p>I've left a default anonymous endpoint which I generally just use to verify that my api is working.
  This controller is working just fine.</p>
  
  <pre><code>[AllowAnonymous]
  [Route("api/[controller]")]
  public class ValuesController : Controller
  {
      //...
  }
  </code></pre>
  
  <p>This controller seems to work fine, despite not being decorated with the <code>[ApiController]</code></p>
  
  <p>I've found a <a href="https://github.com/Microsoft/aspnet-api-versioning/issues/448" rel="nofollow noreferrer">related issue</a> which state that this is related to the ApiVersioning</p>
  
  <p>However I don't see a way to set that in the startup in .Net-Core 3.1</p>
  
  <p>I've added <code>[ApiController]</code> to all of the authenticated controllers, the only affect I saw from this is that all of my Public Methods are now eligible to validations of the number of parameters allow to bind to the body. Everything still 404's</p>
  
  <pre><code>[ApiController]
  [Route("api/[controller]")]
  public class AccountController : Controller
  {
      //...
      HttpPost("ExternalLogin")]
      [AllowAnonymous]
      public IActionResult ExternalLogin(string provider, string entryCode = null, string returnUrl = null)
      {
          //...
      }
  }
  </code></pre>
  
  <p>How can I get my controllers to receive the requests?</p>