Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Per il funzionamento del debug nei container, Visual Studio usa il mapping dei volumi per mappare le cartelle del debugger e di NuGet sul computer host. Il mapping dei volumi è descritto nella documentazione di Docker qui. È possibile visualizzare i mapping dei volumi per un contenitore usando la finestra contenitori in Visual Studio.
Prerequisiti
- Docker Desktop o Podman Desktop.
- Visual Studio o per il supporto di Podman, Visual Studio 2026 con il carico di lavoro sviluppo di applicazioni web e sviluppo di ASP.NET e Web, il carico di lavoro Sviluppo di Azure e/o sviluppo per desktop .NET installato.
- Docker Desktop.
- Visual Studio con il carico di lavoro sviluppo per applicazioni Web e ASP.NET, sviluppo di Azure e/o sviluppo per desktop .NET installato.
Montaggi dei volumi nelle immagini del container di Visual Studio
Ecco i volumi montati nel contenitore. Gli elementi visualizzati nei contenitori potrebbero variare a seconda della versione secondaria di Visual Studio in uso.
| Volume | Descrizione |
|---|---|
| cartella App | Contiene la cartella del progetto in cui si trova il Dockerfile. |
| cartelle dei pacchetti NuGet | Contiene i pacchetti NuGet e le cartelle di fallback letti dal obj{project}.csproj.nuget.g.props file nel progetto. |
| debugger remoto | Contiene i bit necessari per eseguire il debugger nel contenitore a seconda del tipo di progetto. Per ulteriori informazioni, vedere Personalizzare le immagini del contenitore per il debug. |
| cartella di origine | Contiene il contesto di compilazione passato ai comandi Docker. |
| VSTools | Contiene gli strumenti di Visual Studio che supportano l'uso del contenitore, incluso il supporto per il debugger, la finestra Contenitori, la gestione dei token di Azure, l'agente Hot Reload e il Distroless Helper. |
Per .NET 8 e versioni successive, potrebbero essere presenti anche punti di montaggio aggiuntivi nella radice e per l'utente dell'app che contengono segreti utente e il certificato HTTPS.
Nota
Se si usa il motore Docker nel sottosistema Windows per Linux (WSL) senza Docker Desktop, impostare la variabile VSCT_WslDaemon=1 di ambiente in modo che Visual Studio usi percorsi WSL durante la creazione di montaggi di volumi. È necessario anche il pacchetto NuGet Microsoft.VisualStudio.Azure.Containers.Tools.Targets 1.20.0-Preview 1.
Ecco i volumi montati nel contenitore. Gli elementi visualizzati nei contenitori potrebbero variare a seconda della versione secondaria di Visual Studio 2022 in uso.
| Volume | Descrizione |
|---|---|
| cartella App | Contiene la cartella del progetto in cui si trova il Dockerfile. |
| cartelle dei pacchetti NuGet | Contiene i pacchetti NuGet e le cartelle di fallback letti dal obj{project}.csproj.nuget.g.props file nel progetto. |
| debugger remoto | Contiene i bit necessari per eseguire il debugger nel contenitore a seconda del tipo di progetto. Per ulteriori informazioni, vedere Personalizzare le immagini del contenitore per il debug. |
| cartella di origine | Contiene il contesto di compilazione passato ai comandi Docker. |
| VSTools | Contiene gli strumenti di Visual Studio che supportano l'uso del contenitore, incluso il supporto per il debugger, la finestra Contenitori, la gestione dei token di Azure, l'agente Hot Reload e il Distroless Helper. |
Per .NET 8 e versioni successive, potrebbero essere presenti anche punti di montaggio aggiuntivi nella radice e per l'utente dell'app che contengono segreti utente e il certificato HTTPS.
Nota
Visual Studio 17.10 e versioni successive Se si usa il motore Docker nel sottosistema Windows per Linux (WSL) senza Docker Desktop, impostare la variabile VSCT_WslDaemon=1 di ambiente in modo che Visual Studio usi percorsi WSL durante la creazione di montaggi di volumi. È necessario anche il pacchetto NuGet Microsoft.VisualStudio.Azure.Containers.Tools.Targets 1.20.0-Preview 1.
Per ASP.NET app Web di base, potrebbero essere presenti due cartelle aggiuntive per il certificato SSL e i segreti utente, spiegati in modo più dettagliato in Usare SSL per le app core in contenitori ASP.NET
Montare un volume di contenitore
È possibile montare un altro volume con gli argomenti della riga di comando docker run.
Aprire il file di progetto per il progetto in contenitori.
Per specificare un nuovo argomento della riga di comando, aggiungere la proprietà MSBuild
DockerfileRunArgumentse specificare la sintassi-vo--mount. Ad esempio, la sintassi seguente crea un volumemyvolumee lo monta nel contenitore nella cartella/scratch.<PropertyGroup> <DockerfileRunArguments>-v myvolume:/scratch</DockerfileRunArguments> </PropertyGroup>Vedere la documentazione di Docker per la sintassi della riga di comando per le opzioni -v o --mount.
È possibile montare un altro volume specificando gli argomenti della riga di comando per il runtime del contenitore, docker.exe o podman.exe.
Aprire launchSettings.json per il progetto in contenitori.
Per specificare un nuovo argomento della riga di comando, aggiungere JSON
containerRunArgumentse specificare la-vsintassi o--mount. Ad esempio, la sintassi seguente crea un volumemyvolumee lo monta nel contenitore nella cartella/scratch."containerRunArguments": "-v myvolume:/scratch"Vedere la documentazione del provider di runtime del contenitore per la sintassi della riga di comando per le opzioni Docker -v o --mount oppure l'opzione Podman -v e l'opzione Podman --mount.