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

.NET 8手动运行Web API exe无法启动SSL,调试正常求助

.NET 8 Web API 直接运行exe无法启动SSL的问题解决

是的,这是.NET 8版本变更导致的默认行为变化,需要调整配置才能让exe启动时同时启用SSL和非SSL端口。

问题原因

.NET 8调整了ASP.NET Core的启动逻辑:

  • IDE(如Rider)调试时会自动读取launch.json里的applicationUrl配置,所以能正常加载双端口。
  • 但直接运行编译后的exe文件时,不会自动读取launch.json的配置,而.NET 8默认不再自动启用SSL端口,仅启动HTTP端口。

可行的解决办法

1. 修改配置文件(推荐)

在appsettings.Development.json中添加Urls配置项,指定双端口:

{
  "Urls": "https://localhost:5001;http://localhost:5000",
  // 其他原有配置...
}

这样直接运行exe时,程序会读取该配置启动双端口。

2. 命令行参数指定端口

运行exe时手动添加端口参数:

.\MyApp.Api.exe --urls "https://localhost:5001;http://localhost:5000"

3. 代码中显式指定(不推荐)

在Program.cs的WebApplication构建阶段,硬编码指定端口:

var builder = WebApplication.CreateBuilder(args);
builder.WebHost.UseUrls("https://localhost:5001;http://localhost:5000");
// 后续业务代码...

补充提示

如果使用开发环境自签SSL证书,确保已经执行过dotnet dev-certs https --trust命令信任证书,否则可能出现SSL启动失败的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 14:26:00