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

发布ASP.NET Core 6.0 Web API后无法访问Swagger页面

ASP.NET Core 6.0发布后Swagger 404问题解决
  • 问题根源:Swagger默认仅在Development开发环境中启用,发布为Release环境时,相关中间件未被注册,导致访问Swagger页面返回404。

  • 解决方案步骤:

    1. 修改Startup.cs中的Swagger配置逻辑,移除环境限制或调整判断条件,确保Release环境能加载Swagger。示例代码如下:
      public void ConfigureServices(IServiceCollection services)
      {
          // 注册Swagger服务,取消环境限制
          services.AddSwaggerGen(c =>
          {
              c.SwaggerDoc("v1", new OpenApiInfo { Title = "MyWebApp", Version = "v1" });
          });
      
          services.AddControllers();
      }
      
      public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
      {
          // 启用Swagger中间件(可根据需求添加环境判断,比如只在测试/开发环境开启)
          app.UseSwagger();
          app.UseSwaggerUI(c =>
          {
              c.SwaggerEndpoint("/swagger/v1/swagger.json", "MyWebApp v1");
              // 若需通过根路径直接访问Swagger,添加此行
              // c.RoutePrefix = string.Empty;
          });
      
          if (env.IsDevelopment())
          {
              app.UseDeveloperExceptionPage();
          }
      
          app.UseRouting();
          app.UseAuthorization();
          app.UseEndpoints(endpoints =>
          {
              endpoints.MapControllers();
          });
      }
      
    2. (可选)临时指定运行环境为Development:
      • Windows命令行:set ASPNETCORE_ENVIRONMENT=Development && dotnet MyWebApp.dll
      • Linux/macOS:export ASPNETCORE_ENVIRONMENT=Development && dotnet MyWebApp.dll
    3. 验证路径:发布后先尝试访问http://localhost:10001/swagger/v1/swagger.json,确认能获取到JSON文件,若路径错误,调整SwaggerUI的SwaggerEndpoint配置。
  • 注意事项:生产环境不建议长期开启Swagger,仅在测试发布后的API时临时启用即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 11:55:02