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

ASP.NET Core中自定义Swagger UI后如何访问自定义HTML文件

解决步骤

1. 修正HTML文件的生成操作配置

这是最常见的读取失败原因,默认的文件属性不会把HTML打包到程序集资源中:

  • 右键点击项目里的Swagger_Custom_index.html文件,选择「属性」
  • 在属性面板的「高级」分组中,将「生成操作」项设置为 嵌入的资源
  • 保存修改后重新编译项目

2. 校验资源路径是否正确

嵌入资源的完整名称规则是「项目默认命名空间+文件夹路径+文件名」,如果你的Startup类所在的命名空间和项目默认命名空间不一致,会导致读取失败。
可以添加以下临时代码输出所有嵌入资源的完整名称,确认HTML对应的路径:

// 可临时放在Configure方法开头,运行后在调试控制台查看输出
var resourceNames = System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceNames();
foreach (var name in resourceNames)
{
    System.Diagnostics.Debug.WriteLine(name);
}

将输出中对应HTML的完整字符串替换到你IndexStream参数里的路径即可。

自定义Swagger UI的访问地址

你在SwaggerUI配置中设置了c.RoutePrefix = "docs",所以访问地址为:

  • 本地调试:https://localhost:<你项目的运行端口号>/docs
  • 部署后:https://<你的部署域名>/docs

注意:你当前的Swagger和SwaggerUI配置都包裹在if (env.IsDevelopment())判断中,只有开发环境会开启Swagger,若需要生产环境也可访问,将相关配置移到判断外部即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 12:15:00