首页 > 解决方案 > 通过 Visual Studio 与命令行的 ASP.Net Core 启动网站

问题描述

环境:

Microsoft Visual Studio Community 2019
Version 16.3.9
VisualStudio.16.Release/16.3.9+29509.3
Microsoft .NET Framework
Version 4.8.03752

我创建了一个 EMPTY ASP.NET Core 3.0 Web 项目(只是学习 .Net Core - 所以尽量保持简单)。

当我构建项目(配置 = 调试)然后启动网站时,Visual Studio 输出窗口显示以下内容:

Starting IIS Express ...
Successfully registered URL "https://localhost:44308/" for site "website0" application "/"
Registration completed for site "website0"
IIS Express is running.

输出显示网站正在端口:44308 上运行,如果我理解正确,端口号来自启动网站时 VS 使用的 launchSettings.json 文件:

  "iisSettings": {
    "windowsAuthentication": false,
    "anonymousAuthentication": true,
    "iisExpress": {
      "applicationUrl": "http://localhost:64501",
      "sslPort": 44308
    }

然而,我通常使用命令行工具来构建、部署和运行(更容易记录文本命令,而不是拍摄每年都在变化的 GUI 工具的屏幕快照)。

当我构建网站并将其发布到测试目录,然后使用 dotnet 命令启动网站时:

> dotnet website0.dll

控制台输出显示以下内容:

info: Microsoft.Hosting.Lifetime[0]
      Now listening on: http://localhost:5000
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: https://localhost:5001

我的问题:

  1. 我无法在已发布目录的任何配置文件(.json 或 web.config)中找到端口号 - 那么这些端口号来自哪里?

  2. 当网站发布到测试或生产环境(使用命令行工具)时,如何配置/控制使用哪些端口?- 这是通过 .pubxml 文件完成的吗?如果是这样,.pubxml 文件中必须包含哪些节点?...或者这是在网站启动时通过其他一些配置文件完成的,即:web.config?

提前致谢。

标签: visual-studioasp.net-core

解决方案


可能在以下位置找到了 5000 和 5001 端口的答案:

端点配置


推荐阅读