Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Para que la depuración funcione en contenedores, Visual Studio usa la asignación de volúmenes a fin de asignar el depurador y las carpetas de NuGet desde el equipo host. La asignación de volúmenes se describe en la documentación de Docker aquí. Puede ver las asignaciones de volúmenes de un contenedor mediante la ventana Contenedores de Visual Studio.
Prerrequisitos
- Docker Desktop o Podman Desktop.
- Visual Studio o para la compatibilidad con Podman, Visual Studio 2026 con la ASP.NET y el desarrollo web, la carga de trabajo desarrollo de Azure o la carga de trabajo de desarrollo de escritorio de .NET instalada.
- Docker Desktop.
- Visual Studio con las cargas de trabajo desarrollo de ASP.NET y web, desarrollo de Azure y/o desarrollo de escritorio de .NET instaladas.
Montajes de volúmenes en imágenes de contenedores de Visual Studio
Estos son los volúmenes que se montan en el contenedor. Lo que ve en los contenedores puede diferir en función de la versión secundaria de Visual Studio que use.
| Volumen | Descripción |
|---|---|
| Carpeta de la aplicación | Contiene la carpeta del proyecto donde se encuentra el Dockerfile. |
| Carpetas de paquetes NuGet | Contiene los paquetes NuGet y las carpetas de respaldo que se leen del archivo obj{project}.csproj.nuget.g.props del proyecto. |
| Depurador remoto | Contiene los bits necesarios para ejecutar el depurador en el contenedor en función del tipo de proyecto. Para obtener más información, consulte Configurar imágenes de contenedores para depuración. |
| carpeta de origen | Contiene el contexto de compilación que se pasa a los comandos de Docker. |
| VSTools | Contiene herramientas de Visual Studio que admiten trabajar con contenedores, incluida la compatibilidad con el depurador, la ventana de Contenedores, el control de tokens de Azure, el agente de recarga activa y el asistente sin distribución. |
Para .NET 8 y versiones posteriores, es posible que haya puntos de montaje adicionales en la raíz y para el usuario de la aplicación que contenga secretos de usuario y el certificado HTTPS.
Nota
Si usa el motor de Docker en el subsistema de Windows para Linux (WSL) sin Docker Desktop, establezca la variable de entorno VSCT_WslDaemon=1 para que Visual Studio use rutas de WSL al crear montaje de volúmenes. También se requiere el paquete NuGet Microsoft.VisualStudio.Azure.Containers.Tools.Targets 1.20.0-Preview 1.
Estos son los volúmenes que se montan en el contenedor. Lo que ve en los contenedores puede diferir en función de la versión secundaria de Visual Studio 2022 que use.
| Volumen | Descripción |
|---|---|
| Carpeta de la aplicación | Contiene la carpeta del proyecto donde se encuentra el Dockerfile. |
| Carpetas de paquetes NuGet | Contiene los paquetes NuGet y las carpetas de respaldo que se leen del archivo obj{project}.csproj.nuget.g.props del proyecto. |
| Depurador remoto | Contiene los bits necesarios para ejecutar el depurador en el contenedor en función del tipo de proyecto. Para obtener más información, consulte Configurar imágenes de contenedores para depuración. |
| carpeta de origen | Contiene el contexto de compilación que se pasa a los comandos de Docker. |
| VSTools | Contiene herramientas de Visual Studio que admiten trabajar con contenedores, incluida la compatibilidad con el depurador, la ventana de Contenedores, el control de tokens de Azure, el agente de recarga activa y el asistente sin distribución. |
Para .NET 8 y versiones posteriores, es posible que haya puntos de montaje adicionales en la raíz y para el usuario de la aplicación que contenga secretos de usuario y el certificado HTTPS.
Nota
Visual Studio 17.10 y versiones posteriores Si usa el motor de Docker en el subsistema de Windows para Linux (WSL) sin Docker Desktop, establezca la variable VSCT_WslDaemon=1 de entorno para que Visual Studio use rutas de acceso de WSL al crear montajes de volumen. También se requiere el paquete NuGet Microsoft.VisualStudio.Azure.Containers.Tools.Targets 1.20.0-Preview 1.
Para ASP.NET aplicaciones web principales, puede haber dos carpetas adicionales para el certificado SSL y los secretos de usuario, que se explican con más detalle en Usar SSL para aplicaciones ASP.NET Core en contenedores
Montaje de un volumen de contenedor
Puede montar otro volumen utilizando argumentos de línea de comandos docker run.
Abra el archivo de proyecto para el proyecto en contenedor.
Para especificar un nuevo argumento de línea de comandos, agregue la propiedad MSBuild
DockerfileRunArgumentsy proporcione la sintaxis-vo--mount. Por ejemplo, la siguiente sintaxis crea un volumenmyvolumey lo monta en el contenedor de la carpeta/scratch.<PropertyGroup> <DockerfileRunArguments>-v myvolume:/scratch</DockerfileRunArguments> </PropertyGroup>Consulte la documentación de Docker para obtener la sintaxis de la línea de comandos para las opciones de -v o --mount.
Puede montar otro volumen especificando argumentos de línea de comandos para el entorno de ejecución del contenedor, docker.exe o podman.exe.
Abra launchSettings.json para el proyecto en contenedor.
Para especificar un nuevo argumento de línea de comandos, agregue JSON
containerRunArguments, y proporcione la sintaxis-vo--mount. Por ejemplo, la siguiente sintaxis crea un volumenmyvolumey lo monta en el contenedor de la carpeta/scratch."containerRunArguments": "-v myvolume:/scratch"Consulte la documentación del proveedor del entorno de ejecución de contenedor para obtener la sintaxis de la línea de comandos para las opciones de Docker -v o --mount , o la opción podman -v y la opción Podman --mount.