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

ASP.NET6中Swashbuckle.AspNetCore5.5.1的Swagger-UI无法升级至4.14.2以上

ASP.NET6中Swashbuckle 5.5.1升级Swagger-UI到4.14.2+的解决方法

问题根源

Swashbuckle.AspNetCore 5.x版本默认捆绑的是Swagger-UI 3.x,所以哪怕你把Swashbuckle NuGet包更到5.5.1,UI版本还是停留在3.x,要用上4.14.2以上的UI,得手动替换静态资源。

操作步骤

  1. 获取高版本Swagger-UI静态文件
    下载Swagger-UI 4.14.2及以上版本的发布包,解压后取出dist文件夹里的所有内容(包含html、css、js等文件)。

  2. 在项目中放置静态资源
    在ASP.NET6项目根目录创建wwwroot/swagger目录(如果没有的话),把刚才取出的所有文件复制到这个目录下。

  3. 修改Swagger中间件配置
    打开Program.cs,修改UseSwaggerUI的配置,指定使用自定义的UI资源:

    app.UseSwaggerUI(options =>
    {
        options.SwaggerEndpoint("/swagger/v1/swagger.json", "你的API版本名称");
        // 注入自定义的UI样式和脚本
        options.InjectStylesheet("/swagger/swagger-ui.css");
        options.InjectJavascript("/swagger/swagger-ui-bundle.js");
        options.InjectJavascript("/swagger/swagger-ui-standalone-preset.js");
        // 设置Swagger-UI的访问路径前缀
        options.RoutePrefix = "swagger";
    });
    
  4. 验证结果
    启动项目,打开Swagger-UI页面,用你之前的方法检测版本,确认已经升级到4.14.2以上。

注意点

  • 复制文件时要确保dist里的所有文件都放到wwwroot/swagger下,别漏了任何一个。
  • 后续如果升级Swashbuckle.AspNetCore包,要留意别让默认的UI资源覆盖了你自定义的文件,必要时重新替换一遍。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 08:35:24