共用方式為


容器工具啟動設定

在 ASP.NET Core 專案中的 [屬性] 資料夾中,您可以找到launchSettings.json檔案,其中包含控制 Web 應用程式在開發電腦上啟動方式的設定。 如需如何在 ASP.NET 開發中使用此檔案的詳細資訊,請參閱在 ASP.NET Core中使用多個環境

您可以直接編輯此檔案,但在 Visual Studio IDE 中,您也可以透過 UI 編輯此檔案中的屬性。 選擇啟動選項旁的下拉式清單(例如 Docker 或 ),然後選擇單一容器專案的 [偵錯屬性.NET SDK]。

啟動設定檔對話框的螢幕快照,其中顯示容器啟動配置檔的啟動設定。

針對 [Docker Compose],選擇 [ 管理 Docker Compose 啟動設定],請參閱 啟動撰寫服務的子集。

launchSettings.json 中,Docker 區段中的設定與 Visual Studio 如何處理容器化應用程式有關。

    "Docker": {
      "commandName": "Docker",
      "launchBrowser": true,
      "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
      "DockerfileRunArguments": "-l mylabel=value",
      "environmentVariables": {
        "ASPNETCORE_URLS": "https://+:443;http://+:80",
        "ASPNETCORE_HTTPS_PORT": "44360"
      },
      "httpPort": 51803,
      "useSSL": true,
      "sslPort": 44360
    }

commandName 設定會識別本節適用於 Container Tools。

launchSettings.json 大部分的設定都可供使用,不論您是使用 Dockerfile,還是使用 .NET SDK 的內建容器組建支援(適用於 .NET 7 和更新版本)。

下表顯示可在本節中設定的屬性:

設定名稱 範例 描述
commandLineArgs "commandLineArgs": "--mysetting myvalue" 在容器中啟動專案時,會使用這些用於啟動應用程式的命令列引數。
DockerfileRunArguments "dockerfileRunArguments": "-l mylabel=value" 要傳遞至 docker run 命令的其他自變數。
environmentVariables "environmentVariables": {
"ASPNETCORE_URLS": "https://+:443;http://+:80"``, <br/> “ASPNETCORE_HTTPS_PORT”: “44381”''
}
這些環境變數值會在容器中啟動時傳遞至進程。
httpPort "httpPort": 24051 啟動容器時,主機上的這個連接埠會對應至容器的連接埠 80。
launchBrowser "launchBrowser": true 指出是否要在成功啟動專案之後啟動瀏覽器。
launchBrowserTimeout "launchBrowserTimeout": 1 在啟動瀏覽器之前,等待應用程式準備好的時間上限 (以秒為單位)。
launchUrl "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" 啟動瀏覽器時會使用此 URL。 此字串支援的取代權杖如下:

- {Scheme} - 使用 或 取代 http 為 , https 視是否使用SSL而定。

- {ServiceHost} - 通常取代為 localhost
不過,當您以 Windows 10 RS3 或更舊版本的 Windows 容器為目標時,它會取代為容器的 IP。

- {ServicePort}- 通常會以 或 httpPort取代sslPort,視是否使用SSL而定。
不過,當您以 Windows 10 RS3 或較舊版本的 Windows 容器為目標時,它會取代為 44380,視是否使用 SSL 而定。
sslPort "sslPort": 44381 啟動容器時,主機上的這個連接埠會對應至容器的連接埠 443。
useSSL "useSSL": true 指出啟動專案時是否要使用 SSL。 如果未 useSSL 指定 ,則會在時 sslPort > 0使用 SSL。

注意

例如,如果在專案檔和啟動配置檔中找到相同的設定, DockerfileRunArguments則啟動配置檔中的值優先。

偵錯配置檔 UI 中的屬性 在launchSettings.json 中設定名稱 範例 描述
Command line arguments commandLineArgs "commandLineArgs": "--mysetting myvalue" 在容器中啟動專案時,會使用這些用於啟動應用程式的命令列引數。
容器執行自變數 containerRunArguments
ContainerRunArguments
"containerRunArguments": "-l mylabel=value" 要傳遞至 docker run 命令的其他自變數。

(在 Visual Studio 17.12 和更新版本中使用小寫版本。大寫版本是在Visual Studio 17.9中引進的,而且是為了回溯相容性而提供。

您可以使用下列取代權杖:

- {ProjectDir} - 項目目錄的完整路徑。

- {OutDir} - MSBuild 屬性 OutDir 的值。
N/A DockerfileRunArguments dockerfileRunArguments": "-l mylabel=value" 如同 containerRunArguments,但僅適用於使用 Dockerfile 建置類型的專案。 針對 Visual Studio 17.12 和更新版本,建議改用 containerRunArguments
環境變數 environmentVariables "environmentVariables": {
"ASPNETCORE_URLS": "https://+:443;http://+:80",
"ASPNETCORE_HTTPS_PORT": "44381"
}
這些環境變數值會在容器中啟動時傳遞至進程。
容器名稱 containerName mycontainer (17.12 及更新版本)符合正則表達式 [a-zA-Z0-9][a-zA-Z0-9_.-]之容器的名稱。
容器環境檔案 containerRunEnvironmentFiles "containerRunEnvironmentFiles": "abc.env;xyz.env" (17.12 及更新版本)以分號分隔的環境變數檔案.env 清單。 請參閱 .env 檔案語法
Http 連接埠 httpPort "httpPort": 24051 啟動容器時,主機上的這個連接埠會對應至容器的連接埠 80。
啟動瀏覽器 launchBrowser "launchBrowser": true 指出是否要在成功啟動專案之後啟動瀏覽器。
N/A launchBrowserTimeout "launchBrowserTimeout": 1 啟動瀏覽器之前,等待應用程式準備好的時間上限(以秒為單位)。
Url launchUrl "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" 啟動瀏覽器時會使用此 URL。 此字串支援的取代權杖如下:

- {Scheme}- 根據是否使用 SSL,以 或 https取代 http

- {ServiceHost} - 通常取代為 localhost
不過,當您以 Windows 10 RS3 或更舊版本的 Windows 容器為目標時,它會取代為容器的 IP。

- {ServicePort} - 通常會以 sslPort 或 HTTPPort 取代,視是否使用 SSL 而定。
不過,當您以 Windows 10 RS3 或較舊版本的 Windows 容器為目標時,它會取代為 44380,視是否使用 SSL 而定。
發佈所有埠 publishAllPorts "publishAllPorts": true 如果為 true,則傳遞 -Pdocker run,這會將所有公開的埠發佈至隨機埠。 請參閱 Docker 文件。 不過,當您指定 sslPort 時,Visual Studio 仍會傳遞 -p 5002:443,因此您的服務仍應該在連接埠 5002 上接聽。
Ssl 埠 sslPort "sslPort": 44381 啟動容器時,主機上的這個連接埠會對應至容器的連接埠 443。
N/A useSSL "useSSL": true 指出啟動專案時是否要使用 SSL。 如果未 useSSL 指定 ,則會在時 sslPort > 0使用 SSL。

並非所有設定都可在 UI 中使用,例如 useSSL。 若要變更這些設定,請直接編輯 launchSettings.json

DockerfileRunArguments設定在 Visual Studio 2022 17.12 和更新版本中containerRunArguments已取代,可在 [啟動設定檔] UI 中設定為 Container run arguments

注意

如果在專案檔和啟動配置檔中找到相同的設定,啟動配置檔中的值會優先使用。

下一步

藉由設容器工具組建屬性來設定專案。

另請參閱