Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W folderze Właściwości w projekcie ASP.NET Core można znaleźć launchSettings.json plik zawierający ustawienia kontrolujące sposób uruchamiania aplikacji internetowej na maszynie dewelopera. Aby uzyskać szczegółowe informacje na temat sposobu używania tego pliku w programowaniu ASP.NET, zobacz Używanie wielu środowisk w programie ASP.NET Core.
Ten plik można edytować bezpośrednio, ale w środowisku IDE programu Visual Studio można również edytować właściwości w tym pliku za pomocą interfejsu użytkownika. Wybierz listę rozwijaną obok opcji uruchamiania (na przykład Docker lub .NET SDK), a następnie wybierz pozycję Właściwości debugowania dla projektu pojedynczego kontenera.
W obszarze Docker Compose wybierz pozycję Zarządzaj ustawieniami uruchamiania narzędzia Docker Compose i zobacz Uruchamianie podzbioru usług redagowania.
W launchSettings.jsonustawienia w sekcji Platformy Docker są powiązane ze sposobem obsługi konteneryzowanych aplikacji przez program 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
}
"Docker (Dockerfile)": {
"commandName": "Docker",
"launchBrowser": true,
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
"environmentVariables": {
"ASPNETCORE_HTTPS_PORTS": "8081",
"ASPNETCORE_HTTP_PORTS": "8080"
},
"publishAllPorts": true,
"useSSL": true
}
Można również użyć metody "Container (Dockerfile)", która jest dokładniejsza, jeśli chcesz użyć narzędzia Podman, chociaż "Docker (Dockerfile)" działa zarówno w środowiskach uruchomieniowych kontenerów Platformy Docker, jak i Podman.
Ustawienie commandName identyfikuje, że ta sekcja ma zastosowanie do narzędzi kontenera.
Większość ustawień w programie launchSettings.json jest dostępna i ma zastosowanie niezależnie od tego, czy używasz pliku Dockerfile, czy wbudowanej obsługi kompilacji kontenera zestawu .NET SDK (dostępnej dla platformy .NET 7 lub nowszej).
W poniższej tabeli przedstawiono właściwości, które można ustawić w tej sekcji:
| Właściwość w interfejsie użytkownika profilu debugowania | Nazwa ustawienia w launchSettings.json | Przykład | Opis |
|---|---|---|---|
| Argumenty wiersza polecenia | argumenty wiersza poleceń | "commandLineArgs": "--mysetting myvalue" |
Te argumenty wiersza polecenia do uruchamiania aplikacji są używane podczas uruchamiania projektu w kontenerze. |
| Argumenty uruchamiania kontenera | containerRunArguments ContainerRunArguments |
"containerRunArguments": "-l mylabel=value" |
Dodatkowe argumenty do przekazania do docker run polecenia. (Użyj małej litery w programie Visual Studio 17.12 lub nowszym. Wersja z wielką literą została wprowadzona w programie Visual Studio 17.9 i jest udostępniana w celu zapewnienia zgodności z poprzednimi wersjami). Możesz użyć następujących tokenów zastępczych: - {ProjectDir} - Pełna ścieżka do katalogu projektu. - {OutDir} - Wartość właściwości MSBuild OutDir. |
| N/A | DockerfileRunArguments | dockerfileRunArguments": "-l mylabel=value" |
Podobnie jak containerRunArguments, ale tylko w przypadku projektów korzystających z typu kompilacji Dockerfile. W przypadku programu Visual Studio 17.12 lub nowszego zaleca się zamiast tego użyć containerRunArguments polecenia . |
| Zmienne środowiskowe | zmienne środowiskowe |
"environmentVariables": {"ASPNETCORE_URLS": "https://+:443;http://+:80", "ASPNETCORE_HTTPS_PORT": "44381" } |
Te wartości zmiennych środowiskowych są przekazywane do procesu po uruchomieniu w kontenerze. |
| Nazwa kontenera | nazwaKontenera | mycontainer |
(17.12 i nowsze) Nazwa kontenera pasującego do wyrażenia [a-zA-Z0-9][a-zA-Z0-9_.-]regularnego . |
| Pliki środowiska kontenera | containerRunEnvironmentFiles | "containerRunEnvironmentFiles": "abc.env;xyz.env" |
(17.12 i nowsze) Lista plików zmiennych środowiskowych (.env plików) rozdzielonych średnikami. Zobacz składnię pliku env. |
| HTTP Port | Protokół httpPort | "httpPort": 24051 |
Ten port na hoście jest mapowany na port 80 kontenera podczas uruchamiania kontenera. |
| Uruchamianie przeglądarki | uruchomPrzeglądarkę | "launchBrowser": true |
Wskazuje, czy należy uruchomić przeglądarkę po pomyślnym uruchomieniu projektu. |
| N/A | launchBrowserTimeout | "launchBrowserTimeout": 1 |
Maksymalny czas (w sekundach) oczekiwania na przygotowanie aplikacji przed uruchomieniem przeglądarki (tylko narzędzie Docker Compose). |
| adres URL | launchUrl | "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" |
Ten adres URL jest używany podczas uruchamiania przeglądarki. Obsługiwane tokeny zastępcze dla tego ciągu to: - {Scheme} — Zastąpiono elementem http lub https, w zależności od tego, czy jest używany protokół SSL. - {ServiceHost} — Zwykle zastąpione ciągiem localhost. Jednak w przypadku określania kontenerów systemu Windows w systemie Windows 10 RS3 lub starszym jest on zastępowany adresem IP kontenera. - {ServicePort} — Zwykle zastąpiono ciągiem sslPort lub httpPort, w zależności od tego, czy jest używany protokół SSL. Jednak w przypadku określania kontenerów systemu Windows w systemie Windows 10 RS3 lub starszym jest on zastępowany ciągiem 443 lub 80, w zależności od tego, czy jest używany protokół SSL. |
| Publikowanie wszystkich portów | publishAllPorts | "publishAllPorts": true |
Jeśli wartość true, przekaż -P element do docker runelementu , który publikuje wszystkie uwidocznione porty na losowym porcie. Zobacz dokumentację platformy Docker. Jednak po określeniu parametru sslPortprogram Visual Studio nadal przekazuje -p 5002:443wartość , więc usługa powinna nadal nasłuchiwać na porcie 5002. |
| SSL Port | sslPort | "sslPort": 44381 |
Ten port na hoście jest mapowany na port 443 kontenera podczas uruchamiania kontenera. |
| N/A | useSSL | "useSSL": true |
Wskazuje, czy podczas uruchamiania projektu należy używać protokołu SSL. Jeśli useSSL nie zostanie określony, protokół SSL jest używany w przypadku sslPort > 0. |
Nie wszystkie ustawienia są dostępne w interfejsie użytkownika, na przykład useSSL. Aby zmienić te ustawienia, edytuj launchSettings.json bezpośrednio.
Ustawienie DockerfileRunArguments zostało zastąpione w programie Visual Studio 2022 w wersji 17.12 lub nowszej za pomocą containerRunArgumentspolecenia , które można ustawić w interfejsie użytkownika uruchom profile jako Container run arguments.
Uwaga / Notatka
Jeśli to samo ustawienie zostanie znalezione zarówno w pliku projektu, jak i w pliku ustawień uruchamiania, pierwszeństwo ma wartość w pliku ustawień uruchamiania.
| Właściwość w interfejsie użytkownika profilu debugowania | Nazwa ustawienia w launchSettings.json | Przykład | Opis |
|---|---|---|---|
| Argumenty wiersza polecenia | argumenty wiersza poleceń | "commandLineArgs": "--mysetting myvalue" |
Te argumenty wiersza polecenia do uruchamiania aplikacji są używane podczas uruchamiania projektu w kontenerze. |
| Argumenty uruchamiania kontenera | containerRunArguments ContainerRunArguments |
"containerRunArguments": "-l mylabel=value" |
Dodatkowe argumenty do przekazania do docker run polecenia lub podman run . (Użyj małej litery w programie Visual Studio 17.12 lub nowszym. Wersja z wielką literą została wprowadzona w programie Visual Studio 17.9 i jest udostępniana w celu zapewnienia zgodności z poprzednimi wersjami). Możesz użyć następujących tokenów zastępczych: - {ProjectDir} - Pełna ścieżka do katalogu projektu. - {OutDir} - Wartość właściwości MSBuild OutDir. |
| N/A | DockerfileRunArguments | "dockerfileRunArguments": "-l mylabel=value" |
Podobnie jak containerRunArguments, ale tylko w przypadku projektów korzystających z typu kompilacji Dockerfile. Zaleca się zamiast tego użycie containerRunArguments . |
| Zmienne środowiskowe | zmienne środowiskowe |
"environmentVariables": {"ASPNETCORE_URLS": "https://+:443;http://+:80", "ASPNETCORE_HTTPS_PORT": "44381" } |
Te wartości zmiennych środowiskowych są przekazywane do procesu po uruchomieniu w kontenerze. |
| Ścieżka pliku wykonywalnego | executablePath |
"executablePath": "myprogram.exe" |
Podczas debugowania debuger jest poinstruowany o uruchomieniu tego pliku wykonywalnego. |
| Nazwa kontenera | nazwaKontenera | mycontainer |
(17.12 i nowsze) Nazwa kontenera pasującego do wyrażenia [a-zA-Z0-9][a-zA-Z0-9_.-]regularnego . |
| Pliki środowiska kontenera | containerRunEnvironmentFiles | "containerRunEnvironmentFiles": "abc.env;xyz.env" |
(17.12 i nowsze) Lista plików zmiennych środowiskowych (.env plików) rozdzielonych średnikami. Zobacz składnię pliku env. |
| HTTP Port | Protokół httpPort | "httpPort": 24051 |
Ten port na hoście jest mapowany na port HTTP kontenera podczas uruchamiania kontenera. Używany jest port kontenera 80, chyba że określono porty przy użyciu zmiennych ASPNETCORE_URLS środowiskowych i ASPNETCORE_HTTP_PORTS. |
| Uruchamianie przeglądarki | uruchomPrzeglądarkę | "launchBrowser": true |
Wskazuje, czy należy uruchomić przeglądarkę po pomyślnym uruchomieniu projektu. |
| N/A | launchBrowserTimeout | "launchBrowserTimeout": 1 |
Maksymalny czas (w sekundach) oczekiwania na przygotowanie aplikacji przed uruchomieniem przeglądarki (tylko narzędzie Docker Compose). |
| adres URL | launchUrl | "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" |
Ten adres URL jest używany podczas uruchamiania przeglądarki. Obsługiwane tokeny zastępcze dla tego ciągu to: - {Scheme} — Zastąpiono elementem http lub https, w zależności od tego, czy jest używany protokół SSL. - {ServiceHost} — Zwykle zastąpione ciągiem localhost. Jednak w przypadku określania kontenerów systemu Windows w systemie Windows 10 RS3 lub starszym jest on zastępowany adresem IP kontenera. - {ServicePort} — Zwykle zastąpiono ciągiem sslPort lub httpPort, w zależności od tego, czy jest używany protokół SSL. Jednak w przypadku określania wartości docelowych dla kontenerów systemu Windows w systemie Windows 10 RS3 lub starszym jest on zastępowany portem HTTP lub HTTPS określonym przez zmienne ASPNETCORE_URLS środowiskowe i ASPNETCORE_HTTP_PORTS, lub 80 dla protokołu HTTP i 443 dla protokołu HTTPS, jeśli nie jest ustawiona. |
| Publikowanie wszystkich portów | publishAllPorts | "publishAllPorts": true |
Jeśli wartość true, przekaż -P element do docker runelementu , który publikuje wszystkie uwidocznione porty na losowym porcie. Zobacz dokumentację platformy Docker. Jednak po określeniu parametru sslPortprogram Visual Studio nadal przekazuje -p 5002:443wartość , więc usługa powinna nadal nasłuchiwać na porcie 5002. |
| SSL Port | sslPort | "sslPort": 44381 |
Ten port na hoście jest mapowany na port HTTPS kontenera podczas uruchamiania kontenera. Używany jest port kontenera 443, chyba że określono porty przy użyciu zmiennych ASPNETCORE_URLS środowiskowych i ASPNETCORE_HTTP_PORTS. |
| N/A | useSSL | "useSSL": true |
Wskazuje, czy podczas uruchamiania projektu należy używać protokołu SSL. Jeśli useSSL nie zostanie określony, protokół SSL jest używany w przypadku sslPort > 0. |
| Katalog roboczy | workingDirectory | "workingDirectory": "c:\path\to\folder" |
Podczas debugowania debuger jest poinstruowany, aby używał tej ścieżki jako katalogu roboczego. |
Nie wszystkie ustawienia są dostępne w interfejsie użytkownika, na przykład useSSL. Aby zmienić te ustawienia, edytuj launchSettings.json bezpośrednio.
Element containerRunArguments można ustawić w interfejsie użytkownika uruchom profile jako Container run arguments. Jest to odpowiednik przestarzałej właściwości DockerfileRunArgumentsMSBuild .
Uwaga / Notatka
Jeśli to samo ustawienie zostanie znalezione zarówno w pliku projektu, jak i w pliku ustawień uruchamiania, pierwszeństwo ma wartość w pliku ustawień uruchamiania.
Dalsze kroki
Skonfiguruj projekt, ustawiając właściwości kompilacji narzędzia Container Tools.