Impostazioni di avvio di Strumenti contenitore

Nella cartella Proprietà di un progetto ASP.NET Core è possibile trovare il launchSettings.json file contenente le impostazioni che controllano il modo in cui l'app Web viene avviata nel computer di sviluppo. Per informazioni dettagliate sull'uso di questo file nello sviluppo ASP.NET, vedere Usare più ambienti in ASP.NET Core.

È possibile modificare direttamente questo file, ma nell'IDE di Visual Studio è anche possibile modificare le proprietà in questo file tramite l'interfaccia utente. Scegliere l'elenco a discesa accanto all'opzione di avvio (ad esempio, Docker o .NET SDK) e quindi scegliere Proprietà debug.

All'avvio Impostazioni.json le impostazioni nella sezione Docker sono correlate al modo in cui Visual Studio gestisce le app in contenitori.

    "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
    }

L'impostazione commandName identifica che questa sezione si applica a Strumenti contenitore.

La maggior parte delle impostazioni in launchSettings.json è disponibile e applicabile se si usa un Dockerfile o si usa il supporto predefinito per la compilazione di contenitori di .NET SDK (disponibile per .NET 7 e versioni successive).

La tabella seguente illustra le proprietà che è possibile impostare in questa sezione:

Nome impostazione Esempio Descrizione
commandLineArgs "commandLineArgs": "--mysetting myvalue" Questi argomenti della riga di comando per l'avvio dell'app vengono usati durante l'avvio del progetto nel contenitore.
DockerfileRunArguments "dockerfileRunArguments": "-l mylabel=value" Argomenti aggiuntivi da passare al docker run comando.
environmentVariables "environmentVariables": {
"ASPNETCORE_URLS": "https://+:443;http://+:80"``, <br/> "ASPNETCORE_HTTPS_PORT": "44381"''
}
Questi valori delle variabili di ambiente vengono passati al processo quando viene avviato nel contenitore.
httpPort "httpPort": 24051 Questa porta nell'host viene mappata alla porta 80 del contenitore all'avvio del contenitore.
launchBrowser "launchBrowser": true Indica se avviare il browser dopo l'avvio corretto del progetto.
launchBrowserTimeout "launchBrowserTimeout": 1 Quantità massima di tempo (in secondi) di attesa prima dell'avvio del browser da parte dell'app.
launchUrl "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" Questo URL viene usato durante l'avvio del browser. I token di sostituzione supportati per questa stringa sono:

- {Scheme} - Sostituito con http o https a seconda che venga usato SSL.

- {ServiceHost} - In genere sostituito con localhost.
Quando si usano contenitori Windows in Windows 10 RS3 o versioni precedenti, tuttavia, viene sostituito con l'INDIRIZZO IP del contenitore.

- {ServicePort} - In genere sostituito con sslPort o httpPort, a seconda che venga usato SSL.
Quando hai come destinazione contenitori Windows in Windows 10 RS3 o versioni precedenti, tuttavia, viene sostituito con 443 o 80, a seconda che venga usato SSL.
sslPort "sslPort": 44381 Questa porta nell'host viene mappata alla porta 443 del contenitore quando si avvia il contenitore.
useSSL "useSSL": true Indica se usare SSL durante l'avvio del progetto. Se useSSL non viene specificato, ssl viene usato quando sslPort > 0.

Nota

Se le stesse impostazioni, ad esempio , DockerfileRunArgumentsvengono trovate sia nel file di progetto che nel file delle impostazioni di avvio, il valore nel file delle impostazioni di avvio ha la precedenza.

Nome impostazione Esempio Descrizione
commandLineArgs "commandLineArgs": "--mysetting myvalue" Questi argomenti della riga di comando per l'avvio dell'app vengono usati durante l'avvio del progetto nel contenitore.
containerRunArguments "containerRunArguments": "-l mylabel=value" Come dockerfileRunArguments, ma per l'uso con il tipo di compilazione del contenitore .NET SDK.
DockerfileRunArguments dockerfileRunArguments": "-l mylabel=value" Argomenti aggiuntivi da passare al docker run comando.
/
Questa impostazione si applica solo ai progetti che usano il tipo di compilazione del contenitore Dockerfile.

In Visual Studio 17.3 e versioni successive è possibile usare i token di sostituzione seguenti aggiunti:

- {ProjectDir} - Percorso completo della directory del progetto.

- {OutDir} - Valore della proprietà MSBuild OutDir.
environmentVariables "environmentVariables": {
"ASPNETCORE_URLS": "https://+:443;http://+:80",
"ASPNETCORE_HTTPS_PORT": "44381"
}
Questi valori delle variabili di ambiente vengono passati al processo quando viene avviato nel contenitore.
httpPort "httpPort": 24051 Questa porta nell'host viene mappata alla porta 80 del contenitore all'avvio del contenitore.
launchBrowser "launchBrowser": true Indica se avviare il browser dopo l'avvio corretto del progetto.
launchBrowserTimeout "launchBrowserTimeout": 1 Quantità massima di tempo (in secondi) di attesa prima dell'avvio del browser da parte dell'app.
launchUrl "launchUrl": "{Scheme}://{ServiceHost}:{ServicePort}" Questo URL viene usato durante l'avvio del browser. I token di sostituzione supportati per questa stringa sono:

- {Scheme} - Sostituito con http o https, a seconda che venga usato SSL.

- {ServiceHost} - In genere sostituito con localhost.
Quando si usano contenitori Windows in Windows 10 RS3 o versioni precedenti, tuttavia, viene sostituito con l'INDIRIZZO IP del contenitore.

- {ServicePort} - In genere sostituito con sslPort o httpPort, a seconda che venga usato SSL.
Quando hai come destinazione contenitori Windows in Windows 10 RS3 o versioni precedenti, tuttavia, viene sostituito con 443 o 80, a seconda che venga usato SSL.
publishAllPorts "publishAllPorts": true Se true, passare -P a docker run, che pubblica tutte le porte esposte in una porta casuale. Vedere la documentazione di Docker. Tuttavia, quando si specifica sslPort, Visual Studio passa -p 5002:443ancora , quindi il servizio deve comunque essere in ascolto sulla porta 5002.
sslPort "sslPort": 44381 Questa porta nell'host viene mappata alla porta 443 del contenitore quando si avvia il contenitore.
useSSL "useSSL": true Indica se usare SSL durante l'avvio del progetto. Se useSSL non viene specificato, ssl viene usato quando sslPort > 0.

Nota

Se le stesse impostazioni, ad esempio , DockerfileRunArgumentsvengono trovate sia nel file di progetto che nel file delle impostazioni di avvio, il valore nel file delle impostazioni di avvio ha la precedenza.

Passaggi successivi

Configurare il progetto impostando le proprietà di compilazione di Strumenti contenitore.

Vedi anche