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

VS2017下.NET Core WebAPI使用UseUrls无法修改端口问题

解决VS 2017中.NET Core WebAPI端口被调试设置覆盖的问题

我完全懂你的困扰——明明代码里用UseUrls指定了端口9874,但VS死活用着Debug面板里设置的56021,连切到Release模式也没变化。这其实是VS的调试配置优先级比代码中的设置更高导致的,下面给你拆解原因和靠谱的解决方案:

问题根源

在VS里创建.NET Core项目时,会自动生成Properties/launchSettings.json文件,你在Project -> Debug -> Web Server Settings里看到的App URL,本质就是这个文件里的配置。VS启动项目时,会把这个URL作为命令行参数传递给你的Web应用,而WebHost.CreateDefaultBuilder(args)会优先读取这些命令行参数,所以你代码里的UseUrls直接被覆盖了。

解决方案

方法1:修改launchSettings.json(最推荐)

直接调整项目的配置文件,让VS调试时默认用你想要的端口:

  1. 在解决方案资源管理器里,找到项目下的Properties文件夹,打开launchSettings.json
  2. 找到对应的配置节点(比如IIS Express或者你的项目名称节点),把applicationUrl的值改成http://localhost:9874
    "profiles": {
      "IIS Express": {
        "commandName": "IISExpress",
        "launchBrowser": true,
        "launchUrl": "api/values",
        "environmentVariables": {
          "ASPNETCORE_ENVIRONMENT": "Development"
        },
        "applicationUrl": "http://localhost:9874" // 修改这里
      },
      "YourProjectName": {
        "commandName": "Project",
        "launchBrowser": true,
        "launchUrl": "api/values",
        "environmentVariables": {
          "ASPNETCORE_ENVIRONMENT": "Development"
        },
        "applicationUrl": "http://localhost:9874" // 用Kestrel直接启动的话也要改这里
      }
    }
    
  3. 保存文件后重启VS调试,端口就会变成9874了。Release模式下只要对应配置也改了,同样会生效。

方法2:代码中强制指定端口(绕过VS配置)

如果你不想改launchSettings,可以通过配置Kestrel的方式强制锁定端口,这种方式会直接覆盖命令行参数:

public static IWebHost BuildWebHost(string[] args) =>
    WebHost.CreateDefaultBuilder(args)
        .UseStartup<Startup>()
        .ConfigureKestrel(options =>
        {
            // 直接让Kestrel监听9874端口
            options.ListenLocalhost(9874);
        })
        .Build();

这样不管VS传递什么参数,Kestrel都会老老实实监听你指定的端口。

方法3:取消VS的命令行参数传递

在项目属性的Debug选项卡中,找到Application arguments,清空里面的内容(如果有的话),或者取消勾选Launch URL。不过这种方法不如前两种直接,不推荐作为首选。

为什么Release模式也有同样问题?

因为launchSettings.json里也包含了Release模式的配置(如果你的项目配置过的话),VS启动Release模式时同样会读取这个文件里的参数,所以端口还是被覆盖了。只要修改对应模式的applicationUrl就能解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:56:06