Depuración remota de ASP.NET Core en IIS mediante una máquina virtual de Azure de Visual Studio
En esta guía se explica cómo configurar una aplicación ASP.NET Core en Visual Studio, implementarla en IIS con Azure y agregar el depurador remoto de Visual Studio.
En escenarios de IIS, no se admite Linux.
Para depurar IIS en una máquina virtual de Azure, siga los pasos de este artículo. Siguiendo este método, podrá usar una configuración personalizada de IIS, pero los pasos de instalación e implementación son más complicados. Si no necesita personalizar IIS para su escenario, puede elegir métodos más sencillos para hospedar y depurar la aplicación en Azure App Service en su lugar.
En el caso de una máquina virtual de Azure, debe implementar la aplicación desde Visual Studio en Azure, así como instalar manualmente el rol de IIS y el depurador remoto, tal y como se muestra en la siguiente ilustración.
Advertencia
Asegúrese de eliminar los recursos de Azure que cree cuando haya acabado los pasos de este tutorial. De este modo, puede evitar incurrir en cargos innecesarios.
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 previos
Se necesita Visual Studio 2019 o una versión posterior para seguir los pasos que se indican en este artículo.
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 está ejecutando en IIS en la máquina virtual de Azure?
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 asegurarse de que el servidor tiene instalados los componentes necesarios, que la aplicación se puede ejecutar correctamente y que está listo para la 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 para poder realizar la depuración, siga todos los pasos de este artículo.
Antes de empezar, siga todos los pasos descritos en Creación de una máquina virtual de Windows en Azure Portal, que incluye los pasos para instalar el servidor web IIS.
Asegúrese de abrir el puerto 80 en el grupo de seguridad de red de Azure. Al verificar que el puerto 80 esté abierto, abra también el puerto correcto para el depurador remoto (4026, 4024 o 4022). De este modo, no tendrá que abrirlo más adelante. Si utiliza Web Deploy, abra también el puerto 8172.
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
.
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
Este método de implementación utiliza Web Deploy, que debe instalarse en el servidor. Si quiere configurar Web Deploy de forma manual en lugar de importar la configuración, puede instalar Web Deploy 3.6 en lugar de Web Deploy 3.6 para servidores de hospedaje. Pero si configura Web Deploy de forma manual, 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/" 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.
Nota:
Si reinicia una máquina virtual de Azure, la dirección IP puede cambiar.
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.
Advertencia
El uso de credenciales de nombre de usuario y contraseña (autenticación básica) no es el método de autenticación más seguro. Siempre que sea posible, use métodos alternativos. Por ejemplo, considere la posibilidad de publicar en un paquete desde Visual Studio y, a continuación, use WebDeploy.exe desde una línea de comandos para implementar el paquete. Con ese método, puede usar el Administrador de IIS para configurar usuarios autorizados de Windows que pueden publicar en el servidor web y ejecutar WebDeploy.exe en esa cuenta de usuario de Windows. Consulte Instalación y configuración de Web Deploy en IIS 8.0 o posterior. Si usa credenciales de contraseña, asegúrese de usar una contraseña segura y de proteger la contraseña de que se filtre o comparta.
(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
Si va a importar la configuración de publicación, puede omitir esta sección.
Abra el Administrador de Internet Information Services (IIS) y vaya a Sitios.
Haga clic con el botón secundario en el nodo Sitio web predeterminado y seleccione Agregar aplicación.
Establezca el campo Alias en MyASPApp y el campo Grupo de aplicaciones, en Sin código administrado. Establezca la Ruta de acceso física en C:\Publish (donde más adelante se implementará el proyecto de ASP.NET Core).
Con el sitio seleccionado en el Administrador 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.
Importante
Para obtener información de seguridad relacionada con las cuentas integradas, consulte Descripción de las cuentas de usuario y grupo integradas en IIS 7.
(Opcional) Publicación e implementación de la aplicación mediante la publicación en una carpeta local desde Visual Studio
Si no está usando Web Deploy, debe publicar e implementar la aplicación con el sistema de archivos o con otras herramientas. Puede empezar creando un paquete con el sistema de archivos y, después, implementar el paquete manualmente o usar otras herramientas, como PowerShell, Robocopy o XCopy. En esta sección se da por hecho que copiará el paquete manualmente si no usa Web Deploy.
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.
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 si está solucionando problemas de implementación y la aplicación se hospeda detrás de un firewall, puede que tenga que comprobar que están abiertos los puertos correctos.
En una máquina virtual de Azure, debe abrir puertos mediante:
Puertos necesarios:
- 80: obligatorio para IIS
- 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. Debe ser un puerto de salida (regla de salida).
Además, estos puertos ya deberían estar abiertos por la instalación de ASP.NET Core:
- 8172: (opcional) Necesario para que Web Deploy implemente la aplicación desde Visual Studio