You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求助:RouteHandlerBuilder不含WithOpenApi定义的CS1061错误解决

解决CS1061: 'RouteHandlerBuilder' 不包含 'WithOpenApi' 定义的问题

这个错误的核心原因是WithOpenApi扩展方法所在的依赖包未安装,或者缺少对应的命名空间引用,以下是具体解决步骤:

  • 安装必需的NuGet包
    在项目的NuGet包管理器中安装Microsoft.AspNetCore.OpenApi包,或者通过.NET CLI执行命令:

    dotnet add package Microsoft.AspNetCore.OpenApi
    

    这个包是ASP.NET Core 7+官方提供的,专门用于为最小API生成OpenAPI元数据,和Swashbuckle是互补关系而非替代。

  • 添加命名空间引用
    在使用WithOpenApi()的代码文件(通常是Program.cs)顶部添加以下using指令:

    using Microsoft.AspNetCore.OpenApi;
    
  • 确认OpenAPI服务配置
    如果需要生成Swagger UI,确保在Program.cs中已经配置了相关服务和中间件:

    // 注册OpenAPI探索服务
    builder.Services.AddEndpointsApiExplorer();
    // 注册Swagger生成服务(需要Swashbuckle.AspNetCore包)
    builder.Services.AddSwaggerGen();
    
    // 在中间件管道中启用Swagger和Swagger UI
    app.UseSwagger();
    app.UseSwaggerUI();
    
  • 检查.NET版本兼容性
    WithOpenApi是.NET 7及以上版本才引入的API,如果你的项目基于.NET 6或更低版本,要么升级项目到.NET 7+,要么改用Swashbuckle的[SwaggerOperation]等特性来配置API文档。

完成以上步骤后,重新编译项目,CS1061错误应该会消失,你可以继续完成Azure SQL Server的连接配置。

内容的提问来源于stack exchange,提问作者BlackC4t

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 05:52:07