.NET 9极简API项目无法使用OpenApi的问题求助
解决.NET 9极简API中OpenApi包使用错误的方案
核心问题及修正步骤:
- 代码顺序错误:必须在构建
WebApplication实例前完成服务配置,原代码中builder.Build()提前执行导致服务配置失效。 - 命名空间引用错误:
AddOpenApi和MapOpenApi扩展方法分别属于Microsoft.Extensions.DependencyInjection和Microsoft.AspNetCore.Builder命名空间,而非不存在的Microsoft.AspNetCore.OpenApi。
修正后的完整代码:
using Microsoft.Extensions.DependencyInjection; using Microsoft.AspNetCore.Builder; var builder = WebApplication.CreateBuilder(args); // 先配置OpenApi服务,再构建WebApplication实例 builder.Services.AddOpenApi(); var app = builder.Build(); app.MapGet("/", () => "Hello World!"); if (app.Environment.IsDevelopment()) { app.MapOpenApi(); } app.Run();
说明:
- 你的
csproj配置是正确的,无需修改Microsoft.AspNetCore.OpenApi包引用。 - 调整代码顺序后,服务配置会被正确注入到应用容器中,编译器就能找到对应的扩展方法。
- 添加正确的命名空间后,using语句的错误会自动消失。
内容的提问来源于stack exchange,提问作者roderknight
相关产品推荐
相关产品推荐

