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

ASP.NET Framework 4.7.2中Swagger UI页面提示资源未找到的问题求助

解决Swashbuckle v5.6.0集成Swagger时资源未找到的问题

以下是针对该问题的排查修复方案:

1. 启用属性路由

你的API控制器使用了属性路由,但需确保项目已启用该功能。在Global.asax或WebApiConfig.cs中添加以下配置:

config.MapHttpAttributeRoutes();

缺少这行配置会导致属性路由失效,Swagger无法识别你的API接口。

2. 确认Swagger UI访问路径

默认Swagger UI的访问路径为/swagger/ui/index,若项目存在虚拟目录,需加上前缀,例如http://localhost:端口号/虚拟目录/swagger/ui/index,检查是否通过正确路径访问。

3. 配置Swagger扫描指定程序集

当前配置未指定扫描程序集,Swagger可能无法定位到API控制器。修改Swagger配置,补充程序集扫描及XML注释配置:

var thisAssembly = typeof(SwaggerConfig).Assembly;
GlobalConfiguration.Configuration
    .EnableSwagger(c =>
    {   
        c.SingleApiVersion("v1", "Prj.OMS");
        // 扫描包含API控制器的程序集
        c.ScannableAssemblies(thisAssembly);
        // 可选:启用XML注释,需先在项目属性中勾选生成XML文档
        c.IncludeXmlComments($@"{System.AppDomain.CurrentDomain.BaseDirectory}\bin\Prj.OMS.XML");
    })
    .EnableSwaggerUi();

生成XML文档步骤:右键项目→属性→生成→勾选“XML文档文件”,保留默认路径即可。

4. 验证API接口可用性

先直接访问API接口http://localhost:端口号/api/values/person,若接口本身返回404,说明路由配置存在问题,需先修复API的路由访问,再排查Swagger问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 11:39:35