Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Na pasta Properties em um projeto ASP.NET Core, você pode encontrar o arquivo launchSettings.json, que contém configurações que controlam como seu aplicativo Web é iniciado em sua máquina de desenvolvimento. Para obter informações detalhadas sobre como esse arquivo é usado no desenvolvimento ASP.NET, consulte Usar vários ambientes no ASP.NET Core.
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, em seguida, escolha Debug Properties para um projeto de contêiner único.
Para Docker Compose, escolha Gerenciar configurações de inicialização do Docker Composee consulte Iniciar um subconjunto de serviços de composição.
No launchSettings.json, as configurações na seção Docker estão relacionadas a 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 quiser usar o Podman, embora "Docker (Dockerfile)" funcione para tempos de execução 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 no launchSettings.json está disponível e é aplicável se você estiver usando um Dockerfile ou usando o suporte de compilação 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 em Debug Profile UI | Nome da configuração no launchSettings.json | Exemplo | Descrição |
|---|---|---|---|
| Argumentos de linha de comando | argumentos da linha de comando | "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 para passar para o comando docker run. (Use a versão minúscula no Visual Studio 17.12 e posterior. A versão em maiúsculas 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/A | DockerfileRunArguments | dockerfileRunArguments": "-l mylabel=value" |
Como containerRunArguments, mas apenas para projetos que usam o tipo de compilação Dockerfile. Para 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áveis de ambiente são passados para o processo quando ele é iniciado no contêiner. |
| Nome do contêiner | containerName | mycontainer |
(17.12 e seguintes) Um nome para o contêiner correspondente à 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 seguintes) Uma lista de arquivos de variáveis de ambiente (arquivos.env) separados por ponto-e-vírgula. Consulte sintaxe do arquivo .env. |
| Porta HTTP | Porta http | "httpPort": 24051 |
Essa porta no host é mapeada para a porta 80 do contêiner ao iniciar o contêiner. |
| Iniciar navegador | iniciarNavegador | "launchBrowser": true |
Indica se o navegador deve ser iniciado após a inicialização bem-sucedida do projeto. |
| N/A | launchBrowserTimeout | "launchBrowserTimeout": 1 |
A quantidade máxima de tempo (em segundos) para aguardar que o aplicativo esteja pronto antes de iniciar o navegador (somente Docker Compose). |
| URL | launchUrl | "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" |
Este URL é usado ao iniciar o navegador. Os tokens de substituição suportados 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. No entanto, quando você está direcionando contêineres do Windows no Windows 10 RS3 ou anterior, ele é substituído pelo IP do contêiner. - {ServicePort} - Geralmente substituído por sslPort ou httpPort, dependendo se o SSL é usado. No entanto, quando você está direcionando contêineres do Windows no Windows 10 RS3 ou anterior, ele é substituído por 443 ou 80, dependendo se o SSL é usado. |
| Publicar todas as portas | publishAllPorts | "publishAllPorts": true |
Se verdadeiro, passe -P para docker run, que publica todas as portas expostas para 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/A | 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, editelaunchSettings.json diretamente.
A configuração DockerfileRunArguments é substituída no Visual Studio 2022 17.12 e posterior pelo containerRunArguments, que pode ser definido na interface do usuário de perfis de inicialização como Container run arguments.
Observação
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 em Debug Profile UI | Nome da configuração no launchSettings.json | Exemplo | Descrição |
|---|---|---|---|
| Argumentos de linha de comando | argumentos da linha de comando | "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 para passar para o docker run comando ou podman run . (Use a versão minúscula no Visual Studio 17.12 e posterior. A versão em maiúsculas 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/A | DockerfileRunArguments | "dockerfileRunArguments": "-l mylabel=value" |
Como containerRunArguments, mas apenas para projetos que usam o tipo de compilação Dockerfile. Recomenda-se 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áveis 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 este executável. |
| Nome do contêiner | containerName | mycontainer |
(17.12 e seguintes) Um nome para o contêiner correspondente à 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 seguintes) Uma lista de arquivos de variáveis de ambiente (arquivos.env) separados por ponto-e-vírgula. Consulte sintaxe do arquivo .env. |
| Porta HTTP | Porta http | "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 | iniciarNavegador | "launchBrowser": true |
Indica se o navegador deve ser iniciado após a inicialização bem-sucedida do projeto. |
| N/A | launchBrowserTimeout | "launchBrowserTimeout": 1 |
A quantidade máxima de tempo (em segundos) para aguardar que o aplicativo esteja pronto antes de iniciar o navegador (somente Docker Compose). |
| URL | launchUrl | "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" |
Este URL é usado ao iniciar o navegador. Os tokens de substituição suportados 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. No entanto, quando você está direcionando contêineres do Windows no Windows 10 RS3 ou anterior, ele é substituído pelo IP do contêiner. - {ServicePort} - Geralmente substituído por sslPort ou httpPort, dependendo se o SSL é usado. No entanto, quando você está direcionando contêineres do Windows no Windows 10 RS3 ou anterior, 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 estiver definida. |
| Publicar todas as portas | publishAllPorts | "publishAllPorts": true |
Se verdadeiro, passe -P para docker run, que publica todas as portas expostas para 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/A | 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 | diretório de trabalho | "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, editelaunchSettings.json diretamente.
O containerRunArguments pode ser definido na interface do usuário de perfis de inicialização como Container run arguments. É equivalente à propriedade DockerfileRunArgumentsobsoleta MSBuild.
Observação
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óximos passos
Configure seu projeto definindo as propriedades de compilação do Container Tools.