Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Na pasta Propriedades em um projeto do ASP.NET Core, você pode encontrar o arquivo launchSettings.json, que contém configurações que controlam como seu aplicativo Web é iniciado em seu computador de desenvolvimento. Para obter informações detalhadas sobre como esse arquivo é usado no desenvolvimento ASP.NET, consulte Usar vários ambientes nocore do ASP.NET.
Você pode editar esse arquivo diretamente, mas no IDE do Visual Studio, você também pode editar as propriedades nesse arquivo por meio da interface do usuário. Escolha a lista suspensa ao lado da opção de inicialização (por exemplo, Docker ou .NET SDK) e escolha Propriedades de Depuração para um projeto de contêiner único.
Para o Docker Compose, escolha Gerenciar configurações de inicialização do Docker Composee veja iniciar um subconjunto de serviços de composição.
No launchSettings.json, as configurações na seção docker estão relacionadas à forma como o Visual Studio lida com aplicativos em contêineres.
"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
}
Você também pode usar "Container (Dockerfile)", o que é mais preciso se você quiser usar o Podman, embora "Docker (Dockerfile)" funcione para runtimes de contêiner do Docker e do Podman.
A configuração commandName identifica que esta seção se aplica às Ferramentas de Contêiner.
A maioria das configurações em launchSettings.json estão disponíveis e aplicáveis se você estiver usando um Dockerfile ou usando o suporte de build de contêiner interno do SDK do .NET (disponível para .NET 7 e posterior).
A tabela a seguir mostra as propriedades que podem ser definidas nesta seção:
| Propriedade na interface do usuário do perfil de depuração | Nome da configuração no launchSettings.json | Exemplo | Descrição |
|---|---|---|---|
| Argumentos de linha de comando | commandLineArgs | "commandLineArgs": "--mysetting myvalue" |
Esses argumentos de linha de comando para iniciar seu aplicativo são usados ao iniciar seu projeto no contêiner. |
| Argumentos de execução de contêiner | containerRunArguments ContainerRunArguments |
"containerRunArguments": "-l mylabel=value" |
Argumentos adicionais a serem passados para o comando docker run. (Use a versão minúscula no Visual Studio 17.12 e posterior. A versão maiúscula foi introduzida no Visual Studio 17.9 e é fornecida para compatibilidade com versões anteriores.) Você pode usar os seguintes tokens de substituição: - {ProjectDir} – Caminho completo para o diretório do projeto. - {OutDir} - O valor da propriedade MSBuild OutDir. |
| Não aplicável | DockerfileRunArguments | dockerfileRunArguments": "-l mylabel=value" |
Como containerRunArguments, mas somente para projetos que usam o tipo de build do Dockerfile. Para o Visual Studio 17.12 e posterior, é recomendável usar containerRunArguments em vez disso. |
| Variáveis de ambiente | variáveis de ambiente |
"environmentVariables": {Microsoft.Network/virtualNetworks/write, "ASPNETCORE_HTTPS_PORT": "44381" } |
Esses valores de variável de ambiente são passados para o processo quando ele é iniciado no contêiner. |
| Nome do contêiner | nome do contêiner | mycontainer |
(17.12 e posterior) Um nome para o contêiner que corresponde à expressão regular [a-zA-Z0-9][a-zA-Z0-9_.-]. |
| Arquivos de ambiente de contêiner | containerRunEnvironmentFiles | "containerRunEnvironmentFiles": "abc.env;xyz.env" |
(17.12 e posterior) Uma lista de arquivos de variável de ambiente (arquivos.env) separados por ponto-e-vírgula. Consulte de sintaxe de arquivo .env. |
| Porta HTTP | httpPort | "httpPort": 24051 |
Essa porta no host é mapeada para a porta 80 do contêiner ao iniciar o contêiner. |
| Iniciar Navegador | launchBrowser | "launchBrowser": true |
Indica se o navegador será iniciado após iniciar o projeto com êxito. |
| Não aplicável | launchBrowserTimeout | "launchBrowserTimeout": 1 |
O tempo máximo (em segundos) para esperar que o aplicativo esteja pronto antes de iniciar o navegador (somente Docker Compose). |
| URL | launchUrl | "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" |
Essa URL é usada ao iniciar o navegador. Os tokens de substituição com suporte para esta cadeia de caracteres são: - {Scheme} - Substituído por http ou https, dependendo se o SSL é usado. - {ServiceHost} – Geralmente substituído por localhost. Quando você está direcionando contêineres do Windows no Windows 10 RS3 ou mais antigo, no entanto, ele é substituído pelo IP do contêiner. - {ServicePort} – geralmente substituído por sslPort ou httpPort, dependendo se o SSL é usado. Quando você está direcionando contêineres do Windows no Windows 10 RS3 ou mais antigo, ele é substituído por 443 ou 80, dependendo se o SSL é usado. |
| Publicar todas as portas | publishAllPorts | "publishAllPorts": true |
Se for true, passe -P para docker run, que publica todas as portas expostas em uma porta aleatória. Consulte documentação do Docker. No entanto, quando você especifica sslPort, o Visual Studio ainda passa -p 5002:443, portanto, seu serviço ainda deve estar escutando na porta 5002. |
| Porta SSL | sslPort | "sslPort": 44381 |
Essa porta no host é mapeada para a porta 443 do contêiner ao iniciar o contêiner. |
| Não aplicável | useSSL | "useSSL": true |
Indica se o SSL deve ser usado ao iniciar o projeto. Se useSSL não for especificado, o SSL será usado quando sslPort > 0. |
Nem todas as configurações estão disponíveis na interface do usuário, por exemplo, useSSL. Para alterar essas configurações, edite launchSettings.json diretamente.
A configuração DockerfileRunArguments é substituída no Visual Studio 2022 17.12 e posterior por containerRunArguments, que pode ser definida na interface do usuário de Perfis de Inicialização como Container run arguments.
Nota
Se a mesma configuração for encontrada no arquivo de projeto e no arquivo de configurações de inicialização, o valor no arquivo de configurações de inicialização terá precedência.
| Propriedade na interface do usuário do perfil de depuração | Nome da configuração no launchSettings.json | Exemplo | Descrição |
|---|---|---|---|
| Argumentos de linha de comando | commandLineArgs | "commandLineArgs": "--mysetting myvalue" |
Esses argumentos de linha de comando para iniciar seu aplicativo são usados ao iniciar seu projeto no contêiner. |
| Argumentos de execução de contêiner | containerRunArguments ContainerRunArguments |
"containerRunArguments": "-l mylabel=value" |
Argumentos adicionais a serem passados para o comando ou docker run para o podman run comando. (Use a versão minúscula no Visual Studio 17.12 e posterior. A versão maiúscula foi introduzida no Visual Studio 17.9 e é fornecida para compatibilidade com versões anteriores.) Você pode usar os seguintes tokens de substituição: - {ProjectDir} – Caminho completo para o diretório do projeto. - {OutDir} - O valor da propriedade MSBuild OutDir. |
| Não aplicável | DockerfileRunArguments | "dockerfileRunArguments": "-l mylabel=value" |
Como containerRunArguments, mas somente para projetos que usam o tipo de build do Dockerfile. Em vez disso, é recomendável usar containerRunArguments . |
| Variáveis de ambiente | variáveis de ambiente |
"environmentVariables": {Microsoft.Network/virtualNetworks/write, "ASPNETCORE_HTTPS_PORT": "44381" } |
Esses valores de variável de ambiente são passados para o processo quando ele é iniciado no contêiner. |
| Caminho executável | executablePath |
"executablePath": "myprogram.exe" |
Ao depurar, o depurador é instruído a iniciar esse executável. |
| Nome do contêiner | nome do contêiner | mycontainer |
(17.12 e posterior) Um nome para o contêiner que corresponde à expressão regular [a-zA-Z0-9][a-zA-Z0-9_.-]. |
| Arquivos de ambiente de contêiner | containerRunEnvironmentFiles | "containerRunEnvironmentFiles": "abc.env;xyz.env" |
(17.12 e posterior) Uma lista de arquivos de variável de ambiente (arquivos.env) separados por ponto-e-vírgula. Consulte de sintaxe de arquivo .env. |
| Porta HTTP | httpPort | "httpPort": 24051 |
Essa porta no host é mapeada para a porta HTTP do contêiner ao iniciar o contêiner. A porta de contêiner 80 é usada, a menos que você especifique portas usando as variáveis ASPNETCORE_URLS de ambiente e ASPNETCORE_HTTP_PORTS. |
| Iniciar Navegador | launchBrowser | "launchBrowser": true |
Indica se o navegador será iniciado após iniciar o projeto com êxito. |
| Não aplicável | launchBrowserTimeout | "launchBrowserTimeout": 1 |
O tempo máximo (em segundos) para esperar que o aplicativo esteja pronto antes de iniciar o navegador (somente Docker Compose). |
| URL | launchUrl | "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" |
Essa URL é usada ao iniciar o navegador. Os tokens de substituição com suporte para esta cadeia de caracteres são: - {Scheme} - Substituído por http ou https, dependendo se o SSL é usado. - {ServiceHost} – Geralmente substituído por localhost. Quando você está direcionando contêineres do Windows no Windows 10 RS3 ou mais antigo, no entanto, ele é substituído pelo IP do contêiner. - {ServicePort} – geralmente substituído por sslPort ou httpPort, dependendo se o SSL é usado. Quando você está direcionando contêineres do Windows no Windows 10 RS3 ou mais antigo, no entanto, ele é substituído pela porta HTTP ou HTTPS especificada pelas variáveis ASPNETCORE_URLS de ambiente e ASPNETCORE_HTTP_PORTS, ou 80 para HTTP e 443 para HTTPS, se não definido. |
| Publicar todas as portas | publishAllPorts | "publishAllPorts": true |
Se for true, passe -P para docker run, que publica todas as portas expostas em uma porta aleatória. Consulte documentação do Docker. No entanto, quando você especifica sslPort, o Visual Studio ainda passa -p 5002:443, portanto, seu serviço ainda deve estar escutando na porta 5002. |
| Porta SSL | sslPort | "sslPort": 44381 |
Essa porta no host é mapeada para a porta HTTPS do contêiner ao iniciar o contêiner. A porta de contêiner 443 é usada, a menos que você especifique portas usando as variáveis ASPNETCORE_URLS de ambiente e ASPNETCORE_HTTP_PORTS. |
| Não aplicável | useSSL | "useSSL": true |
Indica se o SSL deve ser usado ao iniciar o projeto. Se useSSL não for especificado, o SSL será usado quando sslPort > 0. |
| Diretório de trabalho | workingDirectory | "workingDirectory": "c:\path\to\folder" |
Ao depurar, o depurador é instruído a usar esse caminho como o diretório de trabalho. |
Nem todas as configurações estão disponíveis na interface do usuário, por exemplo, useSSL. Para alterar essas configurações, edite launchSettings.json diretamente.
A containerRunArguments interface do usuário pode ser definida na interface do usuário de Perfis de Inicialização como Container run arguments. É equivalente à propriedade DockerfileRunArgumentsobsoleta DO MSBuild.
Nota
Se a mesma configuração for encontrada no arquivo de projeto e no arquivo de configurações de inicialização, o valor no arquivo de configurações de inicialização terá precedência.
Próximas etapas
Configure seu projeto definindo as propriedades de build Ferramentas de Contêiner.