Back to Aspnetcore

MVC1005: Cannot use UseMvc with Endpoint Routing

aspnetcore/diagnostics/mvc1005.md

latest1.3 KB
Original Source

MVC1005: Cannot use UseMvc with Endpoint Routing

Value
Rule IDMVC1005
Fix is breaking or non-breakingNon-breaking

Cause

UseMvc was invoked as part of startup.

Rule description

Using MVC via xref:Microsoft.AspNetCore.Builder.MvcApplicationBuilderExtensions.UseMvc%2A or xref:Microsoft.AspNetCore.Builder.MvcApplicationBuilderExtensions.UseMvcWithDefaultRoute%2A requires an explicit opt-in inside Startup.ConfigureServices. This is required because MVC must know whether it can rely on the authorization and CORS Middleware during initialization.

How to fix violations

If the app requires legacy xref:Microsoft.AspNetCore.Routing.IRouter support, disable xref:Microsoft.AspNetCore.Mvc.MvcOptions.EnableEndpointRoutingusing any of the following approaches in Startup.ConfigureServices:

csharp
services.AddMvc(options => options.EnableEndpointRouting = false);

If legacy IRouter support is not required, replace the call to UseMvc with UseEndpoints. For more details, see the migration guide.

When to suppress warnings

Do not suppress a warning from this rule.