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

.NET 8项目启动Swagger报错:无法创建IApiDescriptionProvider实例

解决.NET 8 ASP.NET Core项目Swagger启动时IApiDescriptionProvider实例化错误

报错信息

InvalidOperationException: Failed to create instance of type 'Microsoft.AspNetCore.Mvc.ApiExplorer.IApiDescriptionProvider'. Possible reason is cannot match the best constructor of type 'Microsoft.AspNetCore.Mvc.ApiExplorer.EndpointMetadataApiDescriptionProvider'.

排查及解决步骤

  • 清理重建项目:删除项目目录下的bin、obj文件夹,右键项目选择「清理」,再执行「生成解决方案」,确保编译输出为全新文件。
  • 对齐NuGet包版本:核对所有Microsoft.AspNetCore相关包(尤其是Microsoft.AspNetCore.Mvc.ApiExplorer、Swashbuckle.AspNetCore系列)的版本,确保和原作者完全一致,包括小版本号,避免版本兼容冲突。
  • 检查服务注册代码:
    • 确认Program.cs中已正确添加AddEndpointsApiExplorer()和AddSwaggerGen();
    • 排查是否存在自定义IApiDescriptionProvider实现或不当的服务注册逻辑,如有则注释后测试。
  • 校验控制器路由配置:
    • 检查所有控制器的[HttpGet]/[HttpPost]等属性,确认路由模板无语法错误、无重复路由;
    • 确保控制器类标记了[ApiController]属性且继承自ControllerBase。
  • 重新还原依赖:在NuGet包管理器执行「还原所有NuGet包」,或终端运行dotnet restore命令,确保依赖完整下载并正确引用。
  • 核对启动配置:对比原作者的Properties/launchSettings.json,确认环境变量、启动URL等配置一致,重点检查ASPNETCORE_ENVIRONMENT设置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 21:57:03