8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

iServiceCollection'不包含'addVersionedApiExplorer'的定义

yuriploc 1月前

16 0

在 Asp.Net Core v3.1 api、Swagger v3.0 中,当我声明了多个版本时,Swagger UI 无法加载 API 定义。编辑:也来自 NuGet:Mcrosoft.AspNetCore.Mvc.Versioning v4.1.1NSwag。

在 Asp.Net Core v3.1 api、Swagger v3.0 中,当我声明了多个版本时,Swagger UI 无法加载 API 定义。

编辑:同样来自 NuGet:

Mcrosoft.AspNetCore.Mvc.版本控制 v4.1.1

NSwag.AspNetCore v13.7.0

按照 NSwag 的文档 ,我意识到我必须将以下内容添加到我的 '''Startup.ConfigureServices()''' 中:

services.AddApiVersioning(options =>
{
    options.AssumeDefaultVersionWhenUnspecified = true;
    options.ApiVersionReader = new UrlSegmentApiVersionReader();
})
.AddMvcCore()
.AddVersionedApiExplorer(options =>
{
    options.GroupNameFormat = "VVV";
    options.SubstituteApiVersionInUrl = true;
});

但是'''AddVersionedApiExplore()'''在那里不可用...然后我找到了 这个ApiExplorerOptions wiki ,其中指出(我理解为)自Asp.Net Core 3.0以来它的用法是:

services.AddVersionedApiExplorer( options => { /* configure options */ } );

但我最终得到的错误 'IServiceCollection' 不包含定义 'AddVersionedApiExplorer'

顺便说一句,每个版本的 Postman 中服务的所有路径都运行良好,swagger 的页面加载并显示我声明的两个版本,但无法加载它们的定义。

有人能给我指出正确的方向吗?

帖子版权声明 1、本帖标题:iServiceCollection'不包含'addVersionedApiExplorer'的定义
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由yuriploc在本站《asp.net-core》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 谢谢@Jay,我的错误在于信任了 NuGetRecommender 扩展。我花了几个小时,当我输入 services.AddVersionedApiExplorer() 时,它并没有像在其他类似情况下一样建议安装任何包。对此深表歉意 :/

返回
作者最近主题: