C# 操作委托未在ConfigureServices中配置mvc

C# 操作委托未在ConfigureServices中配置mvc,c#,asp.net-core,generics,delegates,C#,Asp.net Core,Generics,Delegates,我已经开始学习asp.net核心,并试图提高我的c#知识 在我的创业课程中,我一直在努力学习ConfigureServices public void ConfigureMvcOptions(MvcOptions options) { options.EnableEndpointRouting = false; } public void ConfigureServices(IServiceCollection services) {

我已经开始学习asp.net核心,并试图提高我的c#知识

在我的创业课程中,我一直在努力学习ConfigureServices

    public void ConfigureMvcOptions(MvcOptions options)
    {
        options.EnableEndpointRouting = false;
    }

    public void ConfigureServices(IServiceCollection services)
    {
        Action<MvcOptions> options = new Action<MvcOptions>(ConfigureMvcOptions);
        services.AddMvc(options);
    }

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app.UseStaticFiles();
        app.UseMvcWithDefaultRoute();

        app.Run(async (context) =>
        {
            await context.Response.WriteAsync("Hello world");
        });
    }
以上操作没有问题。我只是不明白我的操作委托实现出了什么问题?

有一种方法可以检查您是否使用了
UseMvc
UseMvcWithDefaultRoute
,但您没有将
EnableEndPointRouting
设置为
false
。不幸的是,此分析器不够智能,无法检测您的
configuremvcopions
方法是否将
EnableEndPointRouting
设置为
false

这意味着避免此警告的唯一方法是内联设置值,正如您使用所示的修复程序所做的那样。值得注意的是,在ASP.NET Core 3+中使用MVC的建议设置是使用端点路由,而不是禁用它

public void ConfigureServices(IServiceCollection services)
{
    services.AddMvc((options) => options.EnableEndPointRouting = false);
}