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.
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 localhost ersetzt. 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 80 ersetzt, 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 > 0 verwendet. |
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 https ersetzt. - {ServiceHost} - Wird in der Regel durch localhost ersetzt. 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 80 ersetzt, 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 sslPort angeben, ü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 > 0 verwendet. |
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 containerRunArguments
ersetzt, die in der Startprofile-Benutzeroberfläche als Container run arguments
festgelegt 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.