如何在VS Code中为ASP.NET Core设置默认端口?

3

我正在开发一个基于ASP.NET Core的Angular应用程序,launchSettings.json中有一些设置,以便按照下面所示的给定端口运行应用程序:

"profiles": {
  "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": true,
      "environmentVariables": {
      "DOTNET_ENVIRONMENT": "Development"
    }
  },
  "EmployeeProject.WebUI": {
      "commandName": "Project",
      "launchBrowser": true,
      "applicationUrl": "http://localhost:6000;https://localhost:6001",
      "environmentVariables": {
      "DOTNET_ENVIRONMENT": "Development"
    }
  }
}

然而,我听说在使用 VS Code 并且同时运行前端和后端应用程序时,使用 dotnet watch run 随机分配端口,这种设置会被忽略。那么,如何在 dotnet rundotnet watch run 中使应用程序使用相同的端口(6000或6001)来启动呢?

2个回答

5
如果你想按照VS Code的方式进行操作,只需使用 F5 (或者 Run > "Start Debugging" 命令) ,然后将 launch.json 文件从以下内容改为:
...
"env": {
    "ASPNETCORE_ENVIRONMENT": "Development"
},
...

转换为:

...
"env": {
    "ASPNETCORE_ENVIRONMENT": "Development",
    "ASPNETCORE_URLS": "http://localhost:5001"
},
...

否则,如果您使用IIS Express配置文件,请编辑launchSettings.json文件以指定端口:
"iisSettings": {
  "iisExpress": {
    "applicationUrl": "http://localhost:6000",
  }
},
"profiles" : { ... }

“那个文件只能被Visual Studio调试器使用” - 这是不正确的。dotnet run也会遵循launchSettings.json的内容,除非你使用dotnet run --no-launch-profile显式地禁用它。 - undefined
在文档中提到了这里的“Profiles can be selected”部分。但是你也可以通过删除launchSettings.json文件并观察dotnet run不再以开发模式启动来尝试它 :) - undefined
@poke 我也读过这个,看起来是真的。另一方面,在launchSettings.json中只有一个端口设置为6000,并且我可以通过CLI使用它。那么,我应该怎么办呢?我真的很困惑。 - undefined
顺便说一句,为你的帮助点赞。但是我希望能在你的帮助下解决这个问题 :) 有其他建议吗? - undefined
1
@poke 我承认我错了,谢谢!我手头没有开发机器,所以我没有尝试过 :) - undefined
显示剩余8条评论

1
从命令行运行 Kastrel 服务器而不是 IIS。 在这种情况下,可能使用配置文件 appsettings.json。您可以在此配置节中放置以控制端口的内容:
    "Kestrel": {
        "Endpoints": {
            "HTTP": {
                "Url": "http://localhost:6000"
            }
        }
    },


@VoteDowners 为什么要投票否定这个答案呢?是的,它可能没有起作用,但是更好的做法是解释一下为什么要投票否定,并提供正确的答案。 - undefined
1
因为这完全是错误的,所以才会被踩。你可以选择从命令行运行IIS Express或Kestrel,随便你喜欢哪个。另外,appsettings.json是完全无关紧要的。总之,这个答案是毫无用处的。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接