swagger 找不到类型或命名空间名称“ApiVersionDescription”(是否缺少using指令或程序集引用?)

xcitsw88  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(130)

我已经添加了Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer的软件包,但我仍然得到这个错误。有人知道如何解决这个问题吗?提前感谢你。
参考:https://www.meziantou.net/versioning-an-asp-net-core-api.htm#integration-with-ope

qyyhg6bp

qyyhg6bp1#

你还没有说你的目标是哪个版本或运行时。我假设你的项目是.NET Core 3.1或更高版本,语言是C#。ApiVersionDesription类在Microsoft.AspNetCore.Mvc.Versioning.ApiExplorer.dll中定义。解决此错误消息需要以下内容:
1.参考Microsoft.AspNetCore.Mvc.Versioning.ApiExplorerNuGet包
1.* 使用 * 与using Microsoft.AspNetCore.Mvc.ApiExplorer;对应的命名空间
你说你已经做了#1,所以我认为唯一的问题是#2。如果你没有使用工具添加引用,那么值得仔细检查NuGet包是否被正确引用,并且包含的程序集也被添加为引用。
你也没有提到你的最终目标是什么。99%的使用API Explorer扩展进行API版本控制的场景都希望连接Swashbuckle或其他一些Open API/Swagger文档生成器。我会考虑查看ASP.NET Core的官方API Versioning Swagger Example并交叉引用它与你的配置。它是一个有效的端到端解决方案,* 应该 * 帮助你发现你遗漏的一个或多个步骤。
更新:如果您使用的是ASP.NET API版本控制>= 6.0.0,则正确的:

相关问题