Depuración remota de ASP.NET Core en un equipo remoto de IIS en Visual Studio
Para depurar una aplicación de ASP.NET Core que se ha implementado en IIS, instale y ejecute las herramientas remotas en el equipo donde haya implementado la aplicación y, después, asócielas a la aplicación en ejecución desde Visual Studio.
En esta guía se explica cómo configurar una aplicación ASP.NET Core de Visual Studio, implementarla en IIS y adjuntar el depurador remoto de Visual Studio. Para depurar de forma remota ASP.NET 4.8, vea Depuración remota de ASP.NET en un equipo de IIS. También puede implementar y depurar en IIS con Azure. Para obtener Azure App Service, consulte Depuración remota ASP.NET Core en Azure o, para Visual Studio Enterprise, use Snapshot Debugger (se requiere .NET 4.6.1).
Requisitos previos
Se necesita Visual Studio 2019 o una versión posterior para seguir los pasos que se indican en este artículo.
Estos procedimientos se han probado en estas configuraciones de servidor:
- Windows Server 2022 e IIS 10
- Windows Server 2019 e IIS 10
- Windows Server 2016 e IIS 10
Requisitos de red
La depuración entre dos equipos conectados a través de un proxy no se admite. La depuración a través de una conexión de latencia alta o de ancho de banda bajo, como Internet mediante acceso telefónico o Internet a través de países o regiones, no se recomienda y puede producir un error o ser demasiado lenta. Para obtener una lista completa de los requisitos, vea Requisitos.
¿La aplicación ya se ejecuta en IIS?
En este artículo se incluyen los pasos para realizar una configuración básica de IIS en Windows Server e implementar la aplicación desde Visual Studio. Estos pasos se incluyen para garantizar que el servidor tenga instalados los componentes necesarios, que la aplicación se pueda ejecutar correctamente y que tenga todo listo para realizar una depuración remota.
Si la aplicación se ejecuta en IIS y solo desea descargar el depurador remoto e iniciar la depuración, vaya a Descarga e instalación de las herramientas remotas en Windows Server.
Si quiere obtener ayuda para asegurarse de que la aplicación esté configurada, implementada y se ejecuté correctamente en IIS y poder realizar la depuración, siga todos los pasos de este artículo.
Creación de la aplicación de ASP.NET Core en el equipo de Visual Studio
Cree una aplicación web de ASP.NET Core.
En Visual Studio, elija Archivo>Ventana de inicio para abrir la ventana Inicio y, luego, elija Crear un nuevo proyecto. En el cuadro de búsqueda, escriba Aplicación web y, luego, elija C# como lenguaje y, luego, seleccione Aplicación web ASP.NET Core (Modelo-Vista-Controlador). Por último, elija Siguiente. En la siguiente pantalla, asigne el nombre MyASPApp al proyecto y luego elija Siguiente.
Seleccione la plataforma de destino recomendada o .NET 8 y, después, elija Crear. La versión debe coincidir con la versión instalada en el servidor.
Abra el archivo HomeController.cs en la carpeta de controladores y establezca un punto de interrupción en la instrucción
return View;
en el métodoPrivacy
.En plantillas anteriores, abra el archivo Privacy.cshtml.cs y establezca un punto de interrupción en el método
OnGet
.
Instalación y configuración de IIS en Windows Server
En estos pasos solo muestran una configuración básica de IIS. Para obtener información más detallada o para instalar en un equipo de escritorio de Windows, vea Publicación en IIS o IIS 8.0 Uso de ASP.NET 3.5 y ASP.NET 4.5.
En los sistemas operativos Windows Server, use el asistente Agregar roles y características a través del vínculo Administrar o el vínculo Panel en el Administrador del servidor. En el paso Roles de servidor, active la casilla de Servidor web (IIS) .
(Windows Server 2022) En el cuadro de diálogo que aparece, elija Agregar características para agregar la Consola de administración de IIS.
En el paso Servicios de rol, seleccione los servicios de rol IIS que quiera o acepte los servicios de rol predeterminados proporcionados. Si desea habilitar la implementación mediante la configuración de publicación y Web Deploy, asegúrese de que se seleccionan las siguientes características:
- Scripts y herramientas de administración de IIS
- Management Service
- Consola de administración de IIS
Continúe con los pasos de confirmación para instalar el rol y los servicios de servidor web. No es necesario reiniciar el servidor ni IIS después de instalar el rol Servidor web (IIS).
Actualización de la configuración de seguridad del explorador en Windows Server
Si usa una versión anterior de Windows Server, es posible que tenga que agregar algunos dominios como sitios de confianza para permitirle descargar algunos de los componentes del servidor web. Para agregar los sitios de confianza, vaya a Opciones de Internet > Seguridad > Sitios de confianza > Sitios. Agregue los dominios siguientes.
- microsoft.com
- go.microsoft.com
- download.microsoft.com
- iis.net
Al descargar el software, es posible que reciba solicitudes para conceder permiso con el fin de cargar varios scripts y recursos de los sitios web. Algunos de estos recursos no son necesarios, pero, para simplificar el proceso, seleccione Agregar cuando se le solicite.
Instalación de ASP.NET Core en Windows Server
Instale el conjunto de hospedaje de .NET Core en el sistema de hospedaje. El lote instala .NET Core Runtime, .NET Core Library y el módulo ASP.NET Core. Para obtener más instrucciones detalladas, vea Publicación en IIS.
Para el paquete de hospedaje actual de .NET Core, instale el paquete de hospedaje de ASP.NET Core.
Nota:
Si instaló IIS anteriormente, el módulo ASP.NET Core IIS se instala con ASP.NET Core. De lo contrario, instale manualmente el módulo ASP.NET Core IIS.
En el caso de .NET Core 2, instale el hospedaje de .NET Core Windows Server.
Nota
Si el sistema no tiene conexión a Internet, obtenga e instale Microsoft Visual C++ 2015 Redistributable antes de instalar el lote de hospedaje .NET Core Windows Server.
Reinicie el sistema (o ejecute net stop was /y seguido de net start w3svc desde un símbolo del sistema para obtener un cambio en la ruta de acceso del sistema).
Elección de una opción de implementación
Si necesita ayuda para implementar la aplicación en IIS, tenga en cuenta estas opciones:
Para la implementación, cree un archivo de configuración de publicación en IIS e importe la configuración en Visual Studio. En algunos escenarios, es una manera rápida de implementar la aplicación. Al crear el archivo de configuración de publicación, los permisos se configuran de forma automática en IIS.
Para la implementación, efectúe la publicación en una carpeta local y copie la salida mediante un método preferido en una carpeta de aplicación preparada en IIS.
(Opcional) Implementación mediante un archivo de configuración de publicación
Puede usar esta opción para crear un archivo de configuración de publicación e importarlo en Visual Studio.
Nota
Si desea configurar Web Deploy de forma manual en lugar de importar la configuración de publicación, tendrá que asegurarse de que una carpeta de aplicación del servidor esté configurada con los valores y permisos correctos; vea Instalación de ASP.NET 4.5 en Windows Server.
Configuración del sitio web de ASP.NET Core
En el Administrador de IIS, en el panel izquierdo situado en Conexiones, seleccione Grupos de aplicaciones. Abra DefaultAppPool y establezca la Versión de .NET CLR en Sin código administrado. Es necesario para ASP.NET Core. El sitio web predeterminado utiliza DefaultAppPool.
Detenga y reinicie el grupo DefaultAppPool.
Instalar y configurar Web Deploy o Windows Server
Web Deploy proporciona características de configuración adicionales que permiten la creación del archivo de configuración de publicación de la interfaz de usuario.
Nota
El Instalador de plataforma web alcanzó el final del ciclo de vida el 1/7/22. Para más información, vea Instalador de plataforma web: fin del soporte técnico y puesta en ejecución de la fuente de productos o aplicaciones. Puede instalar directamente Web Deploy 4.0 para crear el archivo de configuración de publicación.
Si aún no ha instalado Herramientas y scripts de administración de IIS, hágalo ahora.
Vaya a Seleccionar roles de servidor>Servidor web (IIS)>Herramientas de administración y después seleccione el rol Herramientas y scripts de administración de ISS, haga clic en Siguiente y después instale el rol.
Los scripts y herramientas son necesarios para habilitar la generación del archivo de configuración de publicación.
Asegúrese de instalar también el Servicio de administración y la Consola de administración de IIS (es posible que ya estén instalados).
En Windows Server, descargue Web Deploy 4.0.
Ejecute el programa de instalación de Web Deploy y asegúrese de seleccionar el tipo de instalación Completa en lugar de una instalación típica.
Con una instalación completa, obtendrá los componentes que necesita para generar un archivo de configuración de publicación. (Si elige Personalizada en su lugar, puede ver la lista de componentes, como se muestra en la ilustración siguiente).
(Opcional) Compruebe que Web Deploy se ejecuta correctamente abriendo Panel de Control > Sistema y seguridad > Herramientas administrativas > Servicios y asegúrese de lo siguiente:
El servicio Agente de implementación web se está ejecutando (el nombre del servicio es diferente en las versiones anteriores).
Servicio de administración web se está ejecutando.
Si uno de los servicios del agente no se está ejecutando, reinicie el servicio Agente de implementación web.
Si el servicio Agente de implementación web no está presente en absoluto, vaya a Panel de Control > Programas > Desinstalar un programa y busque Microsoft Web Deploy <versión>. Elija Cambiar la instalación y asegúrese de que elige Will be installed to the local hard drive (Se instalará en la unidad de disco duro local) para los componentes de Web Deploy. Complete los pasos de instalación de cambio.
Crear el archivo de configuración de publicación en IIS en Windows Server
Cierre y vuelva a abrir la consola de administración de IIS para mostrar las opciones de configuración actualizadas en la interfaz de usuario.
En IIS, haga clic en el Sitio web predeterminado, elija Implementar>Configurar publicación de implementación en Web Deploy.
Si no ve el menú Implementar, consulte la sección anterior para comprobar que Web Deploy se está ejecutando.
En el cuadro de diálogo Configurar implementación de publicación en Web Deploy, examine la configuración.
Haga clic en Configuración.
En el panel Resultados, el resultado muestra que los derechos de acceso se conceden al usuario especificado y que se ha generado un archivo con una extensión .publishsettings en la ubicación que se muestra en el cuadro de diálogo.
<?xml version="1.0" encoding="utf-8"?> <publishData> <publishProfile publishUrl="https://myhostname:8172/msdeploy.axd" msdeploySite="Default Web Site" destinationAppUrl="http://myhostname:80/" mySQLDBConnectionString="" SQLServerDBConnectionString="" profileName="Default Settings" publishMethod="MSDeploy" userName="myhostname\myusername" /> </publishData>
Según la configuración de Windows Server e IIS, verá valores diferentes en el archivo XML. A continuación se detalla alguna información acerca de los valores que verá:
El archivo msdeploy.axd al que hace referencia el atributo
publishUrl
es un archivo de controlador HTTP generado dinámicamente para Web Deploy. (Para fines de pruebas,http://myhostname:8172
generalmente funciona bien.)El puerto
publishUrl
se establece en el puerto 8172, que es el valor predeterminado de Web Deploy.El puerto
destinationAppUrl
se establece en el puerto 80, que es el valor predeterminado de IIS.Si, en pasos posteriores, no puede conectarse al host remoto desde Visual Studio con el nombre de host, pruebe la dirección IP del servidor en lugar del nombre de host.
Nota
Si va a publicar en IIS ejecutándose en una máquina virtual de Azure, debe abrir un puerto de entrada para Web Deploy e IIS en el grupo de seguridad de red. Para obtener información detallada, consulte Apertura de puertos en una máquina virtual con Azure Portal.
Copie este archivo en el equipo donde se ejecuta Visual Studio.
Importar la configuración de publicación a Visual Studio e implementar
En el equipo donde tiene el proyecto de ASP.NET abierto en Visual Studio, haga clic con el botón derecho en el proyecto en el Explorador de soluciones y elija Publicar.
Si previamente ha configurado algún perfil de publicación, aparece el panel Publicar. Haga clic en Nuevo o en Crear nuevo perfil.
Seleccione la opción para importar un perfil.
En el cuadro de diálogo Importar, haga clic en Importar perfil.
Navegue hasta la ubicación del archivo de configuración de publicación que creó en la sección anterior.
En el cuadro de diálogo Importar archivo de configuración de publicación, vaya al perfil que creó en la sección anterior, selecciónelo y haga clic en Abrir.
Haga clic en Finalizar para guardar el perfil de publicación y, a continuación, haga clic en Publicar.
Visual Studio comienza el proceso de implementación y la ventana Salida muestra el progreso y los resultados.
Si recibe errores de implementación, haga clic en Más acciones>Editar para editar la configuración. Modifique la configuración y haga clic en Validar para probar la nueva configuración. Si no se encuentra el nombre de host, pruebe la dirección IP en lugar del nombre de host en los campos Servidor y Dirección URL de destino.
Después de que se implemente la aplicación correctamente, debería iniciarse automáticamente.
- Si la aplicación no se inicia después de la implementación, iníciela en IIS para comprobar que se ejecuta correctamente.
- Para ASP.NET Core, deberá asegurarse de que el campo Grupo de aplicaciones correspondiente a DefaultAppPool esté establecido en Sin código administrado.
Cuando tenga todo listo, cambie a una configuración de depuración.
Importante
Si elige depurar una configuración de versión, deshabilite la depuración en el archivo web.config al realizar la publicación.
- Elija Más opciones>Editar para editar el perfil y, a continuación, elija Configuración.
- Seleccione Guardar y, después, vuelva a publicar la aplicación.
- Seleccione una configuración de depuración y, a continuación, Quitar archivos adicionales en el destino en las opciones de publicación de archivos.
- Seleccione Editar para editar el perfil y, a continuación, Configuración.
- Seleccione Guardar y, después, vuelva a publicar la aplicación.
- Seleccione una configuración de depuración y, a continuación, Quitar archivos adicionales en el destino en las opciones de publicación de archivos.
(Opcional) Implementación mediante la publicación en una carpeta local
Puede usar esta opción para implementar la aplicación si desea copiarla en IIS con PowerShell, RoboCopy o si desea copiar manualmente los archivos.
Configuración del sitio web de ASP.NET Core en el equipo con Windows Server
Abra el explorador de Windows y cree una carpeta, C:\Publish, en la que más adelante implementará el proyecto de ASP.NET Core.
Si todavía no está abierto, abra el nodo Administrador de Internet Information Services (IIS) . (En el panel de la izquierda del Administrador del servidor, seleccione IIS. Haga clic con el botón derecho en el servidor y seleccione Administrador de Internet Information Services (IIS) .)
En el panel de la izquierda, bajo Conexiones, vaya a Sitios.
Seleccione Sitio web predeterminado, elija Configuración básica y establezca la Ruta de acceso física en C:\Publish.
Haga clic con el botón secundario en el nodo Sitio web predeterminado y seleccione Agregar aplicación.
Establezca el campo Alias en MyASPApp, acepte el grupo de aplicaciones predeterminado (DefaultAppPool) y establezca la Ruta de acceso física en C:\Publish.
En Conexiones, seleccione Grupos de aplicaciones. Abra DefaultAppPool y establezca el campo Grupo de aplicaciones en Sin código administrado.
Haga clic con el botón derecho en el nuevo sitio en el Administrador de IIS, elija Editar permisos y asegúrese de que IUSR, IIS_IUSRS o el usuario configurado para el acceso a la aplicación web sea un usuario autorizado con derechos Leer y ejecutar.
Si no ve uno de estos usuarios con acceso, siga los pasos para agregar IUSR como usuario con derechos Leer y ejecutar.
Publicación e implementación de la aplicación mediante la publicación en una carpeta local desde Visual Studio
También puede publicar e implementar la aplicación con el sistema de archivos u otras herramientas.
En el Explorador de soluciones, haga clic con el botón derecho en el nodo del proyecto y seleccione Publicar (para Web Forms, Publicar aplicación web).
Si previamente ha configurado algún perfil de publicación, aparece el panel Publicar. Haga clic en Nuevo perfil.
En el cuadro de diálogo Publicar, seleccione Carpeta, haga clic en Examinar y cree una carpeta, C:\Publish.
Haga clic en Finalizar para guardar el perfil de publicación.
Haga clic en Finalizar para guardar el perfil de publicación.
Cambie a una configuración de depuración.
Elija Editar para editar el perfil y, a continuación, seleccione Configuración. Elija una configuración de depuración y, después, en Quitar archivos adicionales en destino en las Opciones de publicación de archivos.
Nota
Si usa una compilación de versión, deshabilite la depuración en el archivo web.config al realizar la publicación.
Haga clic en Publicar.
La aplicación publica una configuración de Depurar del proyecto en la carpeta local. El progreso se muestra en la ventana de salida.
Copie el directorio del proyecto ASP.NET desde el equipo de Visual Studio a un directorio local configurado para la aplicación de ASP.NET (en este ejemplo, C:\Publish) en el equipo de Windows Server. En este tutorial, se supone que la copia se realiza manualmente, pero puede usar otras herramientas como PowerShell, Xcopy o Robocopy.
Precaución
Si necesita realizar cambios en el código o recompilar, debe volver a publicar y repetir este paso. El archivo ejecutable que copió en el equipo remoto debe coincidir exactamente con el origen local y los símbolos. Si no lo hace, recibirá una advertencia
cannot find or open the PDB file
en Visual Studio al intentar depurar el proceso.En Windows Server, compruebe que puede ejecutar la aplicación correctamente abriendo la aplicación en el explorador.
Si la aplicación no se ejecuta correctamente, puede que haya una discrepancia entre la versión de ASP.NET instalada en el servidor y el equipo de Visual Studio, o puede que haya un problema con la configuración del sitio web o IIS. Vuelva a comprobar los pasos anteriores.
Descarga e instalación de las herramientas remotas en Windows Server
Descargue la versión de las herramientas remotas que corresponda a su versión de Visual Studio.
En el dispositivo o servidor remoto en el que desea depurar, en lugar de en el equipo de Visual Studio, descargue e instale la versión correcta de las herramientas remotas desde los vínculos de la tabla siguiente.
- Descargue la actualización más reciente de las herramientas remotas para su versión de Visual Studio. Las versiones anteriores de las herramientas remotas no son compatibles con las versiones posteriores de Visual Studio. (Por ejemplo, si usa Visual Studio 2019, descargue la actualización más reciente de las herramientas remotas para Visual Studio 2019. En este escenario, no descargue las herramientas remotas para Visual Studio 2022).
- Descargue las herramientas remotas con la misma arquitectura que el equipo en el que las va a instalar. Por ejemplo, si desea depurar aplicaciones x86 en un equipo remoto que ejecuta un sistema operativo x64, instale las herramientas remotas x64. Para depurar aplicaciones x86, ARM o x64 en un sistema operativo ARM64, instale las herramientas remotas ARM64.
Versión | Vínculo | Notas |
---|---|---|
Visual Studio 2022 | Herramientas remotas | Compatible con todas las versiones de Visual Studio 2022. Descargue la versión que coincida con el sistema operativo del dispositivo (x86, x64 (AMD64) o ARM64). En versiones anteriores de Windows Server, consulte Desbloquear la descarga de archivos para obtener ayuda con la descarga de herramientas remotas. |
Visual Studio 2019 | Herramientas remotas | Las Herramientas remotas para Visual Studio 2019 están disponibles en My.VisualStudio.com. Si se le solicita, únase al programa gratuito Visual Studio Dev Essentials o inicie sesión con su identificador de suscripción de Visual Studio. Descargue la versión que coincida con el sistema operativo del dispositivo (x86, x64 (AMD64) o ARM64). En versiones anteriores de Windows Server, consulte Desbloquear la descarga de archivos para obtener ayuda con la descarga de herramientas remotas. |
Visual Studio 2017 | Herramientas remotas | Las Herramientas remotas para Visual Studio 2017 están disponibles en My.VisualStudio.com. Si se le solicita, únase al programa gratuito Visual Studio Dev Essentials o inicie sesión con su identificador de suscripción de Visual Studio. Descargue la versión que coincida con el sistema operativo del dispositivo (x86, x64 (AMD64) o ARM64). En Windows Server, vea Desbloquear la descarga del archivo para obtener ayuda con la descarga de las herramientas remotas. |
Visual Studio 2015 | Herramientas remotas | Las Herramientas remotas para Visual Studio 2015 están disponibles en My.VisualStudio.com. Si se le solicita, únase al programa gratuito Visual Studio Dev Essentials o inicie sesión con su identificador de suscripción de Visual Studio. En Windows Server, vea Desbloquear la descarga del archivo para obtener ayuda con la descarga de las herramientas remotas. |
Visual Studio 2013 | Herramientas remotas | Página de descarga en la documentación de Visual Studio 2013 |
Visual Studio 2012 | Herramientas remotas | Página de descarga de la documentación de Visual Studio 2012 |
Versión | Vínculo | Notas |
---|---|---|
Visual Studio 2019 | Herramientas remotas | Compatible con todas las versiones de Visual Studio 2019. Descargue la versión que coincida con el sistema operativo del dispositivo (x86, x64 (AMD64) o ARM64). En Windows Server, vea Desbloquear la descarga del archivo para obtener ayuda con la descarga de las herramientas remotas. Para obtener la última versión de las herramientas remotas, abra el documento de Visual Studio 2022. |
Visual Studio 2017 | Herramientas remotas | Compatible con todas las versiones de Visual Studio 2017. Descargue la versión que coincida con el sistema operativo del dispositivo (x86, x64 (AMD64) o ARM64). En Windows Server, vea Desbloquear la descarga del archivo para obtener ayuda con la descarga de las herramientas remotas. |
Visual Studio 2015 | Herramientas remotas | Las Herramientas remotas para Visual Studio 2015 están disponibles en My.VisualStudio.com. Si se le solicita, únase al programa gratuito Visual Studio Dev Essentials o inicie sesión con su identificador de suscripción de Visual Studio. En Windows Server, vea Desbloquear la descarga del archivo para obtener ayuda con la descarga de las herramientas remotas. |
Visual Studio 2013 | Herramientas remotas | Página de descarga en la documentación de Visual Studio 2013 |
Visual Studio 2012 | Herramientas remotas | Página de descarga de la documentación de Visual Studio 2012 |
Puede ejecutar el depurador remoto mediante la copia de msvsmon.exe en el equipo remoto, en lugar de instalar las herramientas remotas. Sin embargo, el Asistente para configuración de Remote Debugger (rdbgwiz.exe) solo está disponible cuando se instalan las herramientas remotas. Es posible que tenga que usar el Asistente para configuración si desea ejecutar el depurador remoto como un servicio. Para más información, vea (Opcional) Configuración del depurador remoto como servicio.
Nota
- Para depurar aplicaciones de Windows 10 o versiones posteriores en dispositivos ARM, use ARM64, que está disponible con la última versión de las herramientas remotas.
- Para depurar aplicaciones de Windows 10 en dispositivos Windows RT, use ARM, que solo está disponible en la descarga de las herramientas remotas de Visual Studio 2015.
- Para depurar aplicaciones x64 en un sistema operativo ARM64, ejecute el archivo x64 msvsmon.exe instalado con las herramientas remotas ARM64.
Establecimiento del depurador remoto en Windows Server
En el equipo remoto, busque e inicie Remote Debugger en el menú Inicio.
Si no tiene permisos administrativos en el equipo remoto, haga clic con el botón derecho en la aplicación Remote Debugger y seleccione Ejecutar como administrador. En caso contrario, solo debe iniciarlo de la forma habitual.
Si tiene previsto realizar una asociación a un proceso que se ejecuta como administrador o se ejecuta en una cuenta de usuario diferente (como IIS), haga clic con el botón derecho en la aplicación Remote Debugger y seleccione Ejecutar como administrador. Para obtener más información, vea Ejecución del depurador remoto como administrador.
La primera vez que inicies el depurador remoto (o antes de haberlo configurado), aparecerá el asistente de configuración de depuración remota.
En la mayoría de los escenarios, elija Siguiente hasta que llegue a la página Configurar firewall de Windows del asistente.
Si la API de servicios web de Windows no está instalada, lo que sucede solo en Windows Server 2008 R2, seleccione el botón Instalar.
Seleccione al menos un tipo de red en el que desee usar las herramientas remotas. Si los equipos están conectados a través de un dominio, debe elegir el primer elemento. Si los equipos están conectados a través de un grupo de trabajo o un grupo en el hogar, elija el segundo o tercer elemento según corresponda.
A continuación, seleccione Finalizar para iniciar el depurador remoto.
A continuación, seleccione Configurar depuración remota para iniciar el depurador remoto.
Cuando se completa la configuración, aparecerá la ventana Remote Debugger.
El depurador remoto ahora está esperando una conexión. Use el nombre del servidor y el número de puerto que se muestran para establecer la configuración de conexión remota en Visual Studio.
Para detener el depurador remoto, seleccione Archivo>Salir. Puede reiniciarlo desde el menú Inicio o desde la línea de comandos:
<Remote debugger installation directory>\msvsmon.exe
Nota
Si tiene que agregar permisos para usuarios adicionales, cambiar el modo de autenticación o el número de puerto para el depurador remoto, vea Configuración del depurador remoto.
Para obtener información sobre cómo ejecutar el depurador remoto como servicio, vea Configuración del depurador remoto como servicio.
Adjuntar a la aplicación ASP.NET Core desde el equipo de Visual Studio
A partir de la versión 17.10, versión preliminar 2 de Visual Studio 2022, el cuadro de diálogo Asociar al proceso ha cambiado. Si necesita instrucciones que coincidan con el cuadro de diálogo anterior, cambie a la vista de Visual Studio 2019 (selector de versión superior izquierdo del artículo).
En el equipo de Visual Studio, abra la solución que intenta depurar (MyASPApp si está siguiendo todos los pasos de este artículo).
En Visual Studio, seleccione Depurar > Asociar al proceso(Ctrl + Alt + P).
Sugerencia
En Visual Studio 2017 y versiones posteriores, puede volver a asociarla al mismo proceso que antes mediante Depurar > Reasociar al proceso... (Mayús + Alt + P).
Establezca el Tipo de conexión en Remoto (Windows).
Aparece la opción Destino de conexión.
Establezca el Destino de conexión en el <nombre del equipo remoto> y presione Entrar.
Compruebe que Visual Studio agrega el puerto necesario al nombre del equipo, que aparece en el formato <nombre del equipo remoto>:puerto
En Visual Studio 2022, debería ver <nombre del equipo remoto >:4026
El puerto es obligatorio. Si no ve el número de puerto, agréguelo manualmente.
En el equipo de Visual Studio, abra la solución que intenta depurar (MyASPApp si está siguiendo todos los pasos de este artículo).
En Visual Studio, seleccione Depurar > Asociar al proceso(Ctrl + Alt + P).
Sugerencia
En Visual Studio 2017 y versiones posteriores, puede volver a asociarla al mismo proceso que antes mediante Depurar > Reasociar al proceso... (Mayús + Alt + P).
Establezca el campo Calificador en <nombre del equipo remoto> y presione Entrar.
Compruebe que Visual Studio agrega el puerto necesario al nombre del equipo, que aparece en el formato <nombre del equipo remoto>:puerto
En Visual Studio 2019, debería ver <nombre del equipo remoto >:4024
El puerto es obligatorio. Si no ve el número de puerto, agréguelo manualmente.
Seleccione Actualizar.
Debería ver que algunos procesos aparecen en la ventana Procesos disponibles .
Si no ve ningún proceso, pruebe a usar la dirección IP en lugar del nombre del equipo remoto (el puerto es obligatorio). Puede usar
ipconfig
en una línea de comandos para obtener la dirección IPv4.Si desea usar el botón Buscar, es posible que deba abrir el puerto de salida UDP 3702 en el servidor.
Active Mostrar los procesos de todos los usuarios.
Escriba la primera letra del nombre del proceso para encontrar rápidamente la aplicación.
Si usa el modelo de hospedaje en proceso en IIS, seleccione el proceso w3wp.exe correcto. A partir de .NET Core 3, este proceso es el predeterminado.
De lo contrario, seleccione el proceso dotnet.exe. (Este es el modelo de hospedaje fuera de proceso).
Si tiene varios procesos que muestran w3wp.exe o dotnet.exe, compruebe la columna Nombre de usuario. En algunos escenarios, en la columna Nombre de usuario se muestra el nombre del grupo de aplicaciones, como IIS APPPOOL\DefaultAppPool. Si ve el grupo de aplicaciones, pero no es único, cree uno con nombre para la instancia de la aplicación que quiera depurar y, después, lo podrá encontrar fácilmente en la columna Nombre de usuario.
Seleccione Adjuntar.
Abra el sitio web del equipo remoto. En un explorador, vaya a http://<nombre del equipo remoto>.
Debería ver la página web de ASP.NET.
En la aplicación de ASP.NET en ejecución, seleccione el vínculo a la página Privacidad.
Se alcanzará el punto de interrupción en Visual Studio.
Si no puede adjuntar ni alcanzar el punto de interrupción, consulte Solución de problemas de la depuración remota.
Solución de problemas de implementación de IIS
- Si no puede conectarse al host con el nombre, pruebe con la dirección IP.
- Asegúrese de que los puertos necesarios estén abiertos en el servidor remoto.
- Para ASP.NET Core, deberá asegurarse de que el campo Grupo de aplicaciones para el DefaultAppPool está establecido en Sin código administrado.
- Compruebe que la versión de ASP.NET que se usa en la aplicación sea la misma que la que ha instalado en el servidor. Para la aplicación, puede consultar y establecer la versión en la página Propiedades. Para establecer la aplicación en una versión diferente, debe instalar la versión en cuestión.
- Si la aplicación ha intentado abrirse, pero ve una advertencia de certificado, seleccione la opción de confiar en el sitio. Si ya ha cerrado la advertencia, puede editar el perfil de publicación —un archivo *.pubxml— en el proyecto y agregar el elemento siguiente (solo para pruebas):
<AllowUntrustedCertificate>true</AllowUntrustedCertificate>
- Después de implementarla, inicie la aplicación en IIS para probar que se implementó correctamente.
- Consulte en la ventana Salida de Visual Studio la información sobre el estado y compruebe los mensajes de error.
Apertura de los puertos obligatorios en Windows Server
En la mayoría de las instalaciones, los puertos obligatorios se abren mediante la instalación de ASP.NET y el depurador remoto. Pero es posible que tenga que comprobar que los puertos están abiertos.
Nota:
En una máquina virtual de Azure, debe abrir los puertos a través del grupo de seguridad de red.
Puertos necesarios:
- 80: obligatorio para IIS (HTTP).
- 4026: obligatorio para la depuración remota desde Visual Studio 2022 (vea Asignaciones de puertos del depurador remoto para obtener más información).
- 4024: obligatorio para la depuración remota desde Visual Studio 2019 (vea Asignaciones de puertos del depurador remoto para obtener más información).
- UDP 3702: (opcional) El puerto de detección le permite usar el botón Buscar al adjuntarse al depurador remoto en Visual Studio.
Además, estos puertos ya deberían estar abiertos por la instalación de ASP.NET:
- 8172: (opcional) obligatorio para que Web Deploy implemente la aplicación desde Visual Studio
Abrir un puerto
Para abrir un puerto en Windows Server, abra el menú Inicio, busque Firewall de Windows Defender o Firewall de Windows con seguridad avanzada.
En Firewall de Windows Defender, seleccione Configuración avanzada.
Después, elija Reglas de entrada > Nueva regla > Puerto y, a continuación, seleccione Siguiente. (Para UDP 3702, elija Reglas de salida en su lugar).
En Puertos locales específicos, escriba el número de puerto y seleccione Siguiente.
Seleccione Permitir la conexión y, después, Siguiente.
Seleccione uno o más tipos de red para habilitarlos para el puerto y seleccione Siguiente.
Los tipos seleccionados deben incluir la red a la que está conectado el equipo remoto.
Agregue el nombre (por ejemplo, IIS, Web Deploy o msvsmon) a la regla de entrada y seleccione Finalizar.
Debería ver la nueva regla en la lista Reglas de entrada o Reglas de salida.
Si quiere más información sobre cómo configurar el firewall de Windows, vea Configuración del Firewall de Windows para la depuración remota.
Cree más reglas para los demás puertos obligatorios.