无法在 visual studio 调试之外打开 Swagger UI

Can't open Swagger UI outside of visual studio debug

我在 youtube guide 之后创建了一个非常基本的 .net CORE WEB API。 当我从 visual studio 调试时一切正常。它会打开我的浏览器并将我引导至 swagger ui 网站。

但是当我 运行 在 visual studio 之外时,从 build/bin 文件夹启动 exe 时我无法访问那个 swagger 站点。 在命令提示中,exe 文件说它正在侦听端口 5000 上的 http。 所以虽然这是 运行ning 转到这个 url http://localhost:5000/swagger/index.html

有人知道我在这里遗漏了什么吗?

appsettings.json

{
  "ConnectionStrings": {
    "DefaultConnection": "server=myServerXXXX;database=myDataBaseXXXX;User ID=mydbUserXXXXX;Password=myPasswordXXX"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*"
}

program.cs

global using ShoppingList.API.Data;
global using Microsoft.EntityFrameworkCore;

var builder = WebApplication.CreateBuilder(args);

// Add services to the container.

builder.Services.AddControllers();
builder.Services.AddDbContext<ShoppingItemDataContext>(options =>
{
    options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection"));
});

// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI();
}

app.UseAuthorization();

app.MapControllers();

app.Run();

默认情况下,dotnet 在生产环境中运行应用程序,并且您仅为开发环境启用了 swagger。更改条件或传递“--environment production”参数(或配置主机环境:例如 https://enlabsoftware.com/development/dotnet-core-environment-how-config-examples.html