Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В папке свойств в проекте ASP.NET Core можно найти файл launchSettings.json, содержащий параметры, управляющие запуском веб-приложения на компьютере разработки. Подробные сведения о том, как этот файл используется в разработке ASP.NET, см. в разделе Использование нескольких сред в ASP.NET Core.
Этот файл можно редактировать напрямую, но в интегрированной среде разработки Visual Studio можно также изменять свойства в этом файле с помощью пользовательского интерфейса. Выберите раскрывающийся список рядом с параметром запуска (например, Docker или .NET SDK), а затем выберите свойства отладки для проекта с одним контейнером.
Для Docker Compose выберите Manage Docker Compose Launch Settings, а затем Запустить подмножество служб создания.
В 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
}
"Docker (Dockerfile)": {
"commandName": "Docker",
"launchBrowser": true,
"launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}",
"environmentVariables": {
"ASPNETCORE_HTTPS_PORTS": "8081",
"ASPNETCORE_HTTP_PORTS": "8080"
},
"publishAllPorts": true,
"useSSL": true
}
Вы также можете использовать , что более точно, если вы хотите использовать "Container (Dockerfile)"Podman, хотя "Docker (Dockerfile)" работает как для среды выполнения контейнеров Docker, так и для Podman.
Параметр commandName определяет, что этот раздел применяется к средствам контейнеров.
Большинство параметров в launchSettings.json доступны и применимы, независимо от того, используете ли вы Dockerfile или используете встроенную поддержку сборки контейнеров .NET (доступно для .NET 7 и более поздних версий).
В следующей таблице показаны свойства, которые можно задать в этом разделе:
| Свойство в пользовательском интерфейсе профиля отладки | Настройка имени в launchSettings.json | Пример | Описание |
|---|---|---|---|
| Аргументы командной строки | аргументы командной строки | "commandLineArgs": "--mysetting myvalue" |
Эти аргументы командной строки для запуска приложения используются при запуске проекта в контейнере. |
| Аргументы запуска контейнера | containerRunArguments ContainerRunArguments |
"containerRunArguments": "-l mylabel=value" |
Дополнительные аргументы для передачи в команду docker run. (Используйте строчную версию в Visual Studio 17.12 и более поздней версии. Версия верхнего регистра появилась в Visual Studio 17.9 и предоставляется для обеспечения обратной совместимости.) Можно использовать следующие маркеры замены: - {ProjectDir} — полный путь к каталогу проекта. - {OutDir} — значение свойства MSBuild OutDir. |
| Не применимо | DockerfileRunArguments | dockerfileRunArguments": "-l mylabel=value" |
Как и containerRunArguments, но только для проектов, использующих тип сборки Dockerfile. Для Visual Studio 17.12 и более поздних версий рекомендуется использовать вместо этого containerRunArguments. |
| Переменные среды | переменные окружения |
"environmentVariables": {Microsoft.Network/virtualNetworks/write, "ASPNETCORE_HTTPS_PORT": "44381" } |
Эти значения переменной среды передаются процессу при запуске в контейнере. |
| Имя контейнера | имяКонтейнера | 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": true |
Указывает, следует ли запускать браузер после успешного запуска проекта. |
| Не применимо | launchBrowserTimeout | "launchBrowserTimeout": 1 |
Максимальное время (в секундах) для ожидания готовности приложения перед запуском браузера (только Docker Compose). |
| URL-адрес | launchUrl | "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" |
Этот URL-адрес используется при запуске браузера. Поддерживаемые маркеры замены для этой строки: - {Scheme} — заменено http или httpsв зависимости от того, используется ли SSL. - {ServiceHost} — обычно заменяется localhost. При выборе контейнеров Windows в Windows 10 RS3 или более ранних версий он заменен IP-адресом контейнера. - {ServicePort} — обычно заменяется sslPort или httpPort в зависимости от того, используется ли SSL. Если вы используете контейнеры Windows в Windows 10 RS3 или более ранних версий, оно заменено на 443 или 80в зависимости от того, используется ли SSL. |
| Публикация всех портов | publishAllPorts | "publishAllPorts": true |
Если значение true, передайте -P в docker run, которая публикует все открытые порты в случайный порт. См. документации по Docker. Однако при указании sslPortVisual Studio по-прежнему передает -p 5002:443, поэтому служба должна прослушивать порт 5002. |
| ПОРТ SSL | sslPort | "sslPort": 44381 |
Этот порт на узле сопоставляется с портом контейнера 443 при запуске контейнера. |
| Не применимо | useSSL | "useSSL": true |
Указывает, следует ли использовать SSL при запуске проекта. Если useSSL не указан, ssl используется при sslPort > 0. |
Не все параметры доступны в пользовательском интерфейсе, например useSSL. Чтобы изменить эти параметры, измените launchSettings.json напрямую.
DockerfileRunArguments Параметр заменен в Visual Studio 2022 17.12 и более поздних версийcontainerRunArguments, который можно задать в пользовательском интерфейсе профилей запуска как Container run arguments.
Заметка
Если один и тот же параметр найден как в файле проекта, так и в файле параметров запуска, значение в файле параметров запуска имеет приоритет.
| Свойство в пользовательском интерфейсе профиля отладки | Настройка имени в launchSettings.json | Пример | Описание |
|---|---|---|---|
| Аргументы командной строки | аргументы командной строки | "commandLineArgs": "--mysetting myvalue" |
Эти аргументы командной строки для запуска приложения используются при запуске проекта в контейнере. |
| Аргументы запуска контейнера | containerRunArguments ContainerRunArguments |
"containerRunArguments": "-l mylabel=value" |
Дополнительные аргументы для передачи в docker run или podman run команду. (Используйте строчную версию в Visual Studio 17.12 и более поздней версии. Версия верхнего регистра появилась в Visual Studio 17.9 и предоставляется для обеспечения обратной совместимости.) Можно использовать следующие маркеры замены: - {ProjectDir} — полный путь к каталогу проекта. - {OutDir} — значение свойства MSBuild OutDir. |
| Не применимо | DockerfileRunArguments | "dockerfileRunArguments": "-l mylabel=value" |
Как и containerRunArguments, но только для проектов, использующих тип сборки Dockerfile. Вместо этого рекомендуется использовать containerRunArguments . |
| Переменные среды | переменные окружения |
"environmentVariables": {Microsoft.Network/virtualNetworks/write, "ASPNETCORE_HTTPS_PORT": "44381" } |
Эти значения переменной среды передаются процессу при запуске в контейнере. |
| Путь к исполняемому файлу | executablePath |
"executablePath": "myprogram.exe" |
При отладке отладчик предписывает запустить этот исполняемый файл. |
| Имя контейнера | имяКонтейнера | 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 |
Этот порт на узле сопоставляется с HTTP-портом контейнера при запуске контейнера. Порт контейнера 80 используется, если только вы не указываете порты с помощью переменных ASPNETCORE_URLS среды и ASPNETCORE_HTTP_PORTS. |
| Запуск браузера | запуститьБраузер | "launchBrowser": true |
Указывает, следует ли запускать браузер после успешного запуска проекта. |
| Не применимо | launchBrowserTimeout | "launchBrowserTimeout": 1 |
Максимальное время (в секундах) для ожидания готовности приложения перед запуском браузера (только Docker Compose). |
| URL-адрес | launchUrl | "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" |
Этот URL-адрес используется при запуске браузера. Поддерживаемые маркеры замены для этой строки: - {Scheme} — заменено http или httpsв зависимости от того, используется ли SSL. - {ServiceHost} — обычно заменяется localhost. При выборе контейнеров Windows в Windows 10 RS3 или более ранних версий он заменен IP-адресом контейнера. - {ServicePort} — обычно заменяется sslPort или httpPort в зависимости от того, используется ли SSL. Если вы используете контейнеры Windows в Windows 10 RS3 или более ранней версии, он заменен портом HTTP или HTTPS, заданным переменными ASPNETCORE_URLS среды, или ASPNETCORE_HTTP_PORTS80 для HTTP и 443 для HTTPS, если он не задан. |
| Публикация всех портов | publishAllPorts | "publishAllPorts": true |
Если значение true, передайте -P в docker run, которая публикует все открытые порты в случайный порт. См. документации по Docker. Однако при указании sslPortVisual Studio по-прежнему передает -p 5002:443, поэтому служба должна прослушивать порт 5002. |
| ПОРТ SSL | sslPort | "sslPort": 44381 |
Этот порт на узле сопоставляется с портом HTTPS контейнера при запуске контейнера. Порт контейнера 443 используется, если только вы не указываете порты с помощью переменных ASPNETCORE_URLS среды и ASPNETCORE_HTTP_PORTS. |
| Не применимо | useSSL | "useSSL": true |
Указывает, следует ли использовать SSL при запуске проекта. Если useSSL не указан, ssl используется при sslPort > 0. |
| Рабочий каталог | workingDirectory | "workingDirectory": "c:\path\to\folder" |
При отладке отладчику будет показано использовать этот путь в качестве рабочего каталога. |
Не все параметры доступны в пользовательском интерфейсе, например useSSL. Чтобы изменить эти параметры, измените launchSettings.json напрямую.
Его containerRunArguments можно задать в пользовательском интерфейсе профилей запуска как Container run arguments. Это эквивалентно устаревшему свойству DockerfileRunArgumentsMSBuild.
Заметка
Если один и тот же параметр найден как в файле проекта, так и в файле параметров запуска, значение в файле параметров запуска имеет приоритет.
Дальнейшие действия
Настройте проект, задав свойства сборки средств контейнеров.