安装了Swagger/OpenAPI包后仍然找不到Microsoft.OpenApi.Models命名空间

编程语言 2026-07-09

我今天真是一头雾水。
通常我在ASP.NET Core的 API中配置Swagger都没问题,但现在OpenAPI/Swagger的设置却报这个错:
The type or namespace name 'Models' does not exist in the namespace 'Microsoft.OpenApi'

虽然我已经添加了:

using Microsoft.OpenApi.Models;

在我的 Program.cs

我已经一遍又一遍地调试,清理并重建项目,但仍然没能解决。
有人能指点一下可能是什么原因导致的,以及该如何正确修复吗?
我甚至已经安装了所需的包来支持它……

解决方案

迁移概览

迁移到Swashbuckle.AspNetCore v10+可能会涉及以下方面的变更:

  • 将Swashbuckle.AspNetCore和 Microsoft.OpenApi的 NuGet包引用更新为分别为v10.0.0+和 v2.3.0+。
  • 更新任何 using 指令,将来自 Microsoft.OpenApi.Models 命名空间的类型引用改为新的命名空间 Microsoft.OpenApi

如果你使用的是.NET 10,请查看迁移概览以正确设置OpenApi/Swagger:https://github.com/domaindrivendev/Swashbuckle.AspNetCore/blob/HEAD/docs/migrating-to-v10.md#migration-overview

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章