Depuración remota ASP.NET Core en IIS mediante una máquina virtual de Azure desde Visual Studio
En esta guía se explica cómo configurar y configurar una aplicación de Visual Studio ASP.NET Core, implementarla en IIS mediante una máquina virtual de Azure y adjuntar el depurador remoto desde Visual Studio.
En escenarios de IIS, No se admite Linux.
Para depurar IIS en una máquina virtual de Azure, siga los pasos descritos en este artículo. Con este método, puede 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.
Para una máquina virtual de Azure, debe implementar la aplicación desde Visual Studio en Azure y también debe instalar manualmente el rol IIS y el depurador remoto, como se muestra en la ilustración siguiente.
Advertencia
Asegúrese de eliminar los recursos de Azure que cree cuando haya completado los pasos descritos en 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
Prerrequisitos
Se requiere Visual Studio 2019 o versiones posteriores para seguir los pasos que se muestran 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, consulte Requirements.
¿La aplicación ya se está ejecutando en IIS en la máquina virtual de Azure?
En este artículo se incluyen pasos para configurar 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 quiere descargar el depurador remoto e iniciar la depuración, vaya a Descargar e instalar las herramientas remotas en Windows Server.
Si quieres ayudar a garantizar que la aplicación esté configurada, implementada y ejecutándose correctamente en IIS para que puedas depurar, sigue todos los pasos de este artículo.
Antes de empezar, siga todos los pasos descritos en Crear una máquina virtual Windows, que incluye los pasos para instalar el servidor web de 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 tienes que abrirlo más tarde. Si usa Web Deploy, abra también el puerto 8172.
Creación de la aplicación ASP.NET Core en el equipo de Visual Studio
Cree una nueva aplicación web ASP.NET Core.
En Visual Studio, elija Archivo>ventana de inicio para abrir la ventana de inicio y, a continuación, elija Crear un nuevo proyecto. En el cuadro de búsqueda, escriba aplicación web, luego elija C# como el lenguaje, después seleccione ASP.NET Core Aplicación Web (Modelo-View-Controller), y a continuación, elija Siguiente. En la siguiente pantalla, asigne al proyecto el nombre MyASPAppy, a continuación, elija Siguiente.
Elija 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 Controllers 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
.
Actualizar 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 siguientes dominios.
- microsoft.com
- go.microsoft.com
- download.microsoft.com
- iis.net
Al descargar el software, es posible que obtenga solicitudes para conceder permiso para cargar varios scripts y recursos de sitio 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 paquete de hospedaje de .NET Core en el sistema de hospedaje. La agrupación instala el entorno de ejecución de .NET Core, la biblioteca de .NET Core 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 ASP.NET Core Hosting Bundle .
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 de IIS de ASP.NET Core.
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 el Microsoft Visual C++ 2015 Redistributable antes de instalar el paquete de hospedaje de Windows Server de .NET Core.
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:
Implemente mediante la creación de un archivo de configuración de publicación en IIS e importación de la configuración en Visual Studio. En algunos escenarios, este enfoque es una manera rápida de implementar la aplicación. Al crear el archivo de configuración de publicación, los permisos se configuran automáticamente en IIS.
Implemente publicando en una carpeta local y copiando la salida por 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 crear un archivo de configuración de publicación e importarlo en Visual Studio.
Nota
Este método de implementación usa Web Deploy, que debe instalarse en el servidor. Si desea configurar Web Deploy manualmente en lugar de importar la configuración, puede instalar Web Deploy 3.6 en lugar de Web Deploy 3.6 para servidores de hospedaje. Sin embargo, si configura Web Deploy manualmente, deberá asegurarse de que una carpeta de la aplicación en el servidor esté configurada con los valores y permisos correctos (consulte Configurar ASP.NET sitio web).
Configuración del sitio web de ASP.NET Core
En el Administrador de IIS, en el panel izquierdo de Conexiones, seleccione Grupos de aplicaciones. Abra DefaultAppPool y establezca la Versión de .NET CLR en Sin código administrado. Esto es necesario para ASP.NET Core. El sitio web predeterminado usa DefaultAppPool.
Detenga y reinicie DefaultAppPool.
Instalación y configuración de Web Deploy en Windows Server
Web Deploy proporciona características de configuración adicionales que permiten la creación del archivo de configuración de publicación desde 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 las 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 Web Deploy y asegúrese de seleccionar instalación completa en lugar de la 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 Custom en su lugar, puede ver la lista de componentes, como se muestra en la ilustración siguiente).
captura de pantalla de
(Opcional) Compruebe que Web Deploy se está ejecutando correctamente abriendo Panel de control > Sistema y seguridad > Herramientas administrativas > Servicesy, a continuación, asegúrese de que:
El servicio Agente de implementación web se está ejecutando (el nombre del servicio es diferente en las versiones anteriores).
El Servicio de Gestión Web está en ejecución.
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 cambios.
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>
En función de la configuración de Windows Server e IIS, verá valores diferentes en el archivo XML. Estos son algunos detalles sobre los valores que ve:
El archivo msdeploy.axd al que se hace referencia en el atributo
publishUrl
es un archivo de controlador HTTP generado dinámicamente para Web Deploy. (Con fines de prueba,http://myhostname:8172
generalmente también funciona).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 para IIS.Si, en pasos posteriores, no puede conectarse al host remoto desde Visual Studio mediante el nombre de host, pruebe la dirección IP del servidor en lugar del nombre de host.
Nota
Si va a publicar en IIS que se ejecuta en una máquina virtual de Azure, debe abrir un puerto de entrada para Web Deploy e IIS en el grupo Seguridad de red. Para obtener información detallada, consulte Abrir puertos en una máquina virtual.
Copie este archivo en el equipo donde se ejecuta Visual Studio.
Importación de la configuración de publicación en Visual Studio e implementación
En el equipo donde tiene abierto el proyecto de ASP.NET en Visual Studio, haga clic con el botón derecho en el proyecto en el Explorador de soluciones y elija Publicar.
Si ha configurado previamente 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.
Vaya a 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 inicia el proceso de implementación y la ventana Salida muestra el progreso y los resultados.
Si recibe algún error 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 tanto en el campo de Servidor como en el de Dirección URL de destino.
Nota
Si reinicia una máquina virtual de Azure, es posible que cambie la dirección IP.
Una vez que la aplicación se implemente correctamente, debería iniciarse automáticamente.
- Si la aplicación no se inicia después de la implementación, inicie la aplicación en IIS para comprobar que se ejecuta correctamente.
- Para ASP.NET Core, asegúrese de que el campo Grupo de aplicaciones del DefaultAppPool esté establecido en No Managed Code.
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.
- Seleccione Más opciones>Editar para editar el perfil y, a continuación, seleccione Configuración.
- Seleccione Guardar y 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 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 copiar la aplicación en IIS mediante PowerShell, RoboCopy o desea copiar manualmente los archivos.
Configurar el 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 derecho 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 implementará el proyecto ASP.NET Core).
Con el sitio seleccionado 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 permisos de lectura y ejecución.
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, vea Understanding Built-In User and Group Accounts in 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 usa Web Deploy, debe publicar e implementar la aplicación mediante el sistema de archivos u otras herramientas. Puede empezar creando un paquete mediante el sistema de archivos y, a continuación, implementarlo manualmente o usar otras herramientas como PowerShell, Robocopy o XCopy. En esta sección, se supone que va a copiar manualmente el paquete si no usa Web Deploy.
En el Solution Explorer, haga clic con el botón derecho en el nodo del proyecto y seleccione Publicar (para Web Forms, Publicar Aplicación Web).
Si ha configurado previamente 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 Salida.
Copie el directorio del proyecto de ASP.NET del equipo de Visual Studio en el directorio local configurado para la aplicación ASP.NET (en este ejemplo, C:\Publish) en el equipo con Windows Server. En este tutorial, se supone que va a copiar manualmente, pero puede usar otras herramientas como PowerShell, Xcopy o Robocopy.
Cautela
Si necesita realizar cambios en el código o volver a generarlo, debe volver a publicar y repetir este paso. El archivo ejecutable que copió en la máquina remota debe coincidir exactamente con su código fuente local y los símbolos. Si no lo hace, recibirá una advertencia de
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 haber una discrepancia entre la versión de ASP.NET instalada en el servidor y el equipo de Visual Studio, o es posible que tenga un problema con la configuración del sitio web o IIS. Vuelva a comprobar los pasos anteriores.
Descargar e instalar las herramientas remotas en Windows Server
Descargue la versión de las herramientas remotas que coincidan con la 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 la versión de Visual Studio. Las versiones anteriores de las herramientas remotas no son compatibles con 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 la máquina en la que los 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 | Link | 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 las 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 gratis Visual Studio Dev Essentials o inicie sesión con el 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 las 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 gratis Visual Studio Dev Essentials o inicie sesión con el 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, consulte Desbloqueo de la descarga de archivos 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 gratis Visual Studio Dev Essentials o inicie sesión con el identificador de suscripción de Visual Studio. En Windows Server, consulte Desbloquear la descarga de archivos para obtener ayuda para descargar 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 en la documentación de Visual Studio 2012 |
Versión | Link | 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, consulte 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 gratis Visual Studio Dev Essentials o inicie sesión con el identificador de suscripción de Visual Studio. En Windows Server, consulte Desbloquear la descarga de archivos para más ayuda en 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 en 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 del depurador remoto (rdbgwiz.exe) solo está disponible cuando se instalan las herramientas remotas. Es posible que tenga que usar el asistente de 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 posteriores en dispositivos ARM, use ARM64, que está disponible con la versión más reciente de las herramientas remotas.
- Para depurar aplicaciones de Windows 10 en dispositivos Windows RT, use ARM, que solo está disponible en la descarga de 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. De lo contrario, simplemente empiece normalmente.
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, que solo sucede en Windows Server 2008 R2, seleccione el botón Instalar .
Seleccione al menos un tipo de red en el que quiera 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 grupo principal, 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 necesita agregar permisos para usuarios adicionales, cambie el modo de autenticación o el número de puerto del depurador remoto, consulte Configurar el depurador remoto.
Conectar a la aplicación ASP.NET Core desde el equipo con Visual Studio
A partir de la versión 17.10 preview 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 izquierda 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 <nombre de equipo remoto> y presione Entrar.
Compruebe que Visual Studio agrega el puerto necesario al nombre del equipo, que aparece en el formato: <nombre de equipo remoto>:puerto
En Visual Studio 2022, debería ver <nombre del equipo remoto >:4026
El puerto es necesario. 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 añade el puerto necesario al nombre del equipo, que aparece en el formato: <nombre de equipo remoto>:puerto
En Visual Studio 2019, debería ver <nombre del equipo remoto >:4024
El puerto es necesario. 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, intente usar la dirección IP en lugar del nombre del equipo remoto (el puerto es necesario). 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 tenga que abrir el puerto UDP de salida 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 utiliza el modelo de hospedaje en proceso en IIS, seleccione el proceso correcto de w3wp.exe. A partir de .NET Core 3, este proceso es el valor predeterminado.
De lo contrario, seleccione el proceso de 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 de nombre de usuario . En algunos escenarios, la columna Nombre de usuario muestra su nombre de grupo de aplicaciones, como IIS APPPOOL\DefaultAppPool. Si ve el grupo de aplicaciones, pero no es único, cree un nuevo grupo de aplicaciones denominado para la instancia de aplicación que quiera depurar y, a continuación, puede encontrarlo fácilmente en la columna Nombre de usuario.
Seleccione Asociar.
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 ASP.NET en funcionamiento, haga clic en el enlace a la página de privacidad .
El punto de interrupción debe alcanzarse 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 mediante el nombre de host, pruebe la dirección IP en su lugar.
- 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 usada en la aplicación es la misma que la versión que instaló en el servidor. Para tu aplicación, puedes ver y establecer la versión en la página de Propiedades de . Para establecer la aplicación en otra versión, debe instalarse esa versión.
- Si la aplicación intentó abrirse, pero aparece una advertencia de certificado, elija 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.
- Compruebe la ventana Salida de Visual Studio para obtener información de estado y compruebe los mensajes de error.
Apertura de puertos necesarios en Windows Server
En la mayoría de las configuraciones, los puertos necesarios se abren mediante la instalación de ASP.NET y el depurador remoto. Sin embargo, si está solucionando problemas de implementación y la aplicación se hospeda detrás de un firewall, es posible que tenga que comprobar que los puertos correctos están abiertos.
En una máquina virtual de Azure, debe abrir puertos mediante:
- El grupo de seguridad de red.
- Firewall de en Windows Server
Puertos necesarios:
- 80: necesario 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 habilita el botón Buscar al asociarse al depurador remoto en Visual Studio. Debe ser un puerto de salida (regla de salida).
Además, estos puertos ya deben estar abiertos por la instalación de ASP.NET Core:
- 8172: (Opcional) Necesario para web Deploy para implementar la aplicación desde Visual Studio