Freigeben über


Starteinstellungen für Containertools

Im Ordner Eigenschaften ordners in einem ASP.NET Core-Projekt finden Sie die launchSettings.json Datei, die Einstellungen enthält, die steuern, wie Ihre Web-App auf Ihrem Entwicklungscomputer gestartet wird. Ausführliche Informationen zur Verwendung dieser Datei in ASP.NET Entwicklung finden Sie unter Verwenden mehrerer Umgebungen in ASP.NET Core.

Sie können diese Datei direkt bearbeiten, aber in Visual Studio IDE können Sie die Eigenschaften in dieser Datei auch über die Benutzeroberfläche bearbeiten. Wählen Sie die Dropdownliste neben der Startoption aus (z. B. Docker oder .NET SDK), und wählen Sie dann Debugeigenschaften für ein Einzelcontainerprojekt aus.

Screenshot des Dialogfelds

Wählen Sie für Docker Compose Manage Docker Compose Launch Settingsund see Launch a subset of compose services.

In launchSettings.jsonbeziehen sich die Einstellungen im Abschnitt Docker auf die Behandlung von containerisierten Apps in 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
    }

Die CommandName-Einstellung gibt an, dass dieser Abschnitt für Containertools gilt.

Die meisten Einstellungen in launchSettings.json sind verfügbar und anwendbar, unabhängig davon, ob Sie eine Dockerfile verwenden oder die integrierte Unterstützung des .NET SDK-Containerbuilds verwenden (verfügbar für .NET 7 und höher).

In der folgenden Tabelle sind die Eigenschaften aufgeführt, die in diesem Abschnitt festgelegt werden können:

Einstellungsname Beispiel Beschreibung
commandLineArgs "commandLineArgs": "--mysetting myvalue" Diese Befehlszeilenargumente zum Starten der App werden beim Starten des Projekts im Container verwendet.
DockerfileRunArguments "dockerfileRunArguments": "-l mylabel=value" Zusätzliche Argumente, die an den Befehl docker run übergeben werden sollen.
environmentVariables "environmentVariables": {
"ASPNETCORE_URLS": "https://+:443;http://+:80"``, <br/> "ASPNETCORE_HTTPS_PORT": "44381"''
}
Diese Umgebungsvariablenwerte werden an den Prozess übergeben, wenn sie im Container gestartet wird.
httpPort "httpPort": 24051 Dieser Port auf dem Host wird beim Starten des Containers dem Port 80 des Containers zugeordnet.
launchBrowser "launchBrowser": true Gibt an, ob der Browser nach dem erfolgreichen Starten des Projekts gestartet werden soll.
launchBrowserTimeout "launchBrowserTimeout": 1 Die maximale Zeitspanne (in Sekunden), bis die App bereit ist, bevor der Browser gestartet wird.
launchUrl "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" Diese URL wird beim Starten des Browsers verwendet. Unterstützte Ersatztoken für diese Zeichenfolge sind:

- {Scheme} – Je nachdem, ob SSL verwendet wird, durch http oder https ersetzt.

- {ServiceHost} - Wird in der Regel durch localhostersetzt.
Wenn Sie auf Windows-Container unter Windows 10 RS3 oder älter abzielen, wird sie jedoch durch die IP des Containers ersetzt.

- {ServicePort} - In der Regel durch sslPort oder httpPortersetzt, je nachdem, ob SSL verwendet wird.
Wenn Sie auf Windows-Container unter Windows 10 RS3 oder älter abzielen, wird sie jedoch entweder durch 443 oder 80ersetzt, je nachdem, ob SSL verwendet wird.
sslPort "sslPort": 44381 Dieser Port auf dem Host wird beim Starten des Containers dem Port 443 des Containers zugeordnet.
useSSL "useSSL": true Gibt an, ob SSL beim Starten des Projekts verwendet werden soll. Wenn useSSL nicht angegeben ist, wird SSL beim sslPort > 0verwendet.

Anmerkung

Wenn die gleichen Einstellungen, z. B. DockerfileRunArguments, sowohl in der Projektdatei als auch in der Starteinstellungsdatei gefunden werden, hat der Wert in der Starteinstellungsdatei Vorrang.

Eigenschaft in der Benutzeroberfläche des Debugprofils Einstellungsname in launchSettings.json Beispiel Beschreibung
Befehlszeilenargumente commandLineArgs "commandLineArgs": "--mysetting myvalue" Diese Befehlszeilenargumente zum Starten der App werden beim Starten des Projekts im Container verwendet.
Containerausführungsargumente containerRunArguments
ContainerRunArguments
"containerRunArguments": "-l mylabel=value" Zusätzliche Argumente, die an den Befehl docker run übergeben werden sollen.

(Verwenden Sie die Kleinbuchstabenversion in Visual Studio 17.12 und höher. Die Großbuchstabenversion wurde in Visual Studio 17.9 eingeführt und wird aus Gründen der Abwärtskompatibilität bereitgestellt.)

Sie können die folgenden Ersatztoken verwenden:

- {ProjectDir} – Vollständiger Pfad zum Projektverzeichnis.

- {OutDir} – Der Wert der MSBuild-Eigenschaft OutDir.
N/A DockerfileRunArguments dockerfileRunArguments": "-l mylabel=value" Wie containerRunArguments, aber nur für Projekte, die den Dockerfile-Buildtyp verwenden. Für Visual Studio 17.12 und höher empfiehlt es sich stattdessen, containerRunArguments zu verwenden.
Umgebungsvariablen environmentVariables "environmentVariables": {
"ASPNETCORE_URLS": "https://+:443;http://+:80",
"ASPNETCORE_HTTPS_PORT": "44381"
}
Diese Umgebungsvariablenwerte werden an den Prozess übergeben, wenn sie im Container gestartet wird.
Containername containerName mycontainer (17.12 und höher) Ein Name für den Container, der dem regulären Ausdruck [a-zA-Z0-9][a-zA-Z0-9_.-]entspricht.
Containerumgebungsdateien containerRunEnvironmentFiles "containerRunEnvironmentFiles": "abc.env;xyz.env" (17.12 und höher) Eine Liste der Umgebungsvariablendateien (.env Dateien), die durch Semikolons getrennt sind. Siehe .env-Dateisyntax.
HTTP-Port httpPort "httpPort": 24051 Dieser Port auf dem Host wird beim Starten des Containers dem Port 80 des Containers zugeordnet.
Browser starten launchBrowser "launchBrowser": true Gibt an, ob der Browser nach dem erfolgreichen Starten des Projekts gestartet werden soll.
N/A launchBrowserTimeout "launchBrowserTimeout": 1 Die maximale Zeitspanne (in Sekunden), bis die App bereit ist, bevor der Browser gestartet wird (nur Docker Compose).
URL launchUrl "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" Diese URL wird beim Starten des Browsers verwendet. Unterstützte Ersatztoken für diese Zeichenfolge sind:

- {Scheme} – Wird je nach Verwendung von SSL durch http oder httpsersetzt.

- {ServiceHost} - Wird in der Regel durch localhostersetzt.
Wenn Sie auf Windows-Container unter Windows 10 RS3 oder älter abzielen, wird sie jedoch durch die IP des Containers ersetzt.

- {ServicePort} – In der Regel durch sslPort oder httpPort ersetzt, je nachdem, ob SSL verwendet wird.
Wenn Sie auf Windows-Container unter Windows 10 RS3 oder älter abzielen, wird sie jedoch entweder durch 443 oder 80ersetzt, je nachdem, ob SSL verwendet wird.
Veröffentlichen aller Ports publishAllPorts "publishAllPorts": true Wenn true, übergeben Sie -P an docker run, die alle verfügbar gemachten Ports für einen zufälligen Port veröffentlicht. Siehe Docker-Dokumentation. Wenn Sie jedoch sslPortangeben, übergibt Visual Studio weiterhin -p 5002:443, damit Ihr Dienst weiterhin auf Port 5002 lauscht.
SSL-Port sslPort "sslPort": 44381 Dieser Port auf dem Host wird beim Starten des Containers dem Port 443 des Containers zugeordnet.
N/A useSSL "useSSL": true Gibt an, ob SSL beim Starten des Projekts verwendet werden soll. Wenn useSSL nicht angegeben ist, wird SSL beim sslPort > 0verwendet.

Nicht alle Einstellungen sind auf der Benutzeroberfläche verfügbar, z. B. useSSL. Um diese Einstellungen zu ändern, bearbeiten Sie launchSettings.json direkt.

Die Einstellung DockerfileRunArguments wird in Visual Studio 2022 17.12 und höher durch containerRunArgumentsersetzt, die in der Startprofile-Benutzeroberfläche als Container run argumentsfestgelegt werden kann.

Anmerkung

Wenn die gleiche Einstellung sowohl in der Projektdatei als auch in der Starteinstellungsdatei gefunden wird, hat der Wert in der Starteinstellungsdatei Vorrang.

Nächste Schritte

Konfigurieren Sie Ihr Projekt, indem Sie Containertools Buildeigenschaftenfestlegen.

Siehe auch