Compartir a través de


Depuración de aplicaciones de ASP.NET o ASP.NET Core en Visual Studio

Puede depurar aplicaciones ASP.NET y ASP.NET Core en Visual Studio. El proceso difiere entre ASP.NET y ASP.NET Core y si lo ejecuta en IIS Express o en un servidor IIS local.

Nota

Los pasos y la configuración siguientes solo se aplican a la depuración de aplicaciones en un servidor local. La depuración de aplicaciones en un servidor IIS remoto usa Asociar al proceso y omite esta configuración. Para obtener más información e instrucciones para depurar remotamente ASP.NET y ASP.NET Core, consulte Depurar ASP.NET Core en un equipo remoto de IISy Depurar el servicio de aplicaciones de Azure de forma remota.

Los servidores Kestrel y IIS Express integrados se incluyen con Visual Studio. Kestrel es el servidor de depuración predeterminado para ASP.NET proyectos principales y está preconfigurado. IIS Express es el servidor de depuración predeterminado para ASP.NET.

El servidor IIS Express integrado se incluye con Visual Studio. IIS Express es el servidor de depuración predeterminado para los proyectos de ASP.NET y ASP.NET Core y está preconfigurado. Es la manera más fácil de depurar aplicaciones, y es ideal para realizar la depuración y las pruebas iniciales.

Para ASP.NET Core, también puede depurar en el servidor web de Kestrel.

Requisitos previos para el servidor IIS local

También puede depurar una aplicación de ASP.NET o ASP.NET Core en un servidor IIS local (versión 8.0 o posterior) configurado para ejecutar la aplicación. Para realizar la depuración en IIS local, debe cumplir los siguientes requisitos:

  • Si no está instalado, instale ASP.NET y la carga de trabajo de desarrollo web. (Vuelva a ejecutar el Instalador de Visual Studio, seleccione Modificary agregue esta carga de trabajo).

  • Ejecute Visual Studio como administrador.

  • Instale y configure CORRECTAMENTE IIS con las versiones adecuadas de ASP.NET o ASP.NET Core. Para obtener más información sobre el uso de IIS con ASP.NET Core, consulte Host ASP.NET Core en Windows con IIS. Para ASP.NET, consulte Instalar IIS y los módulos de ASP.NET.

  • Asegúrese de que la aplicación se ejecuta en IIS y se abre en el explorador.

Depurar aplicaciones ASP.NET Core

Un perfil predeterminado denominado https o uno basado en el nombre del proyecto puede estar presente, que están configurados para el servidor web Kestrel. Si realiza la depuración en IIS local en su lugar, asegúrese de que cumple los requisitos previos para la depuración de IIS local.

  1. Seleccione el proyecto de ASP.NET Core en el Explorador de soluciones de Visual Studio y haga clic en el icono Propiedades, presione Alt+Entrar o haga clic con el botón derecho y seleccione Propiedades.

  2. Seleccione la pestaña Depurar y haga clic en el vínculo para abrir la Interfaz de usuario Abrir perfiles de inicio de depuración.

    La interfaz de usuario presentada corresponde a la configuración del archivo launchSettings.json del proyecto. Para obtener más información sobre este archivo, consulte la sección Desarrollo y launchSettings.json en Uso de varios entornos en ASP.NET Core.

  3. Seleccione el perfil que se configurará para la depuración.

    • En Kestrel, seleccione el perfil https o el perfil con el nombre del proyecto.
    • Para IIS Express, seleccione IIS Express de la lista desplegable.
    • En IIS local, seleccione Nuevo y cree un nuevo perfil de IIS.
  4. Asegúrese de que Iniciar explorador está seleccionado.

  5. Asegúrese de que la dirección URL de, la dirección URL de la aplicación dey la dirección URL SSL de la aplicación de sean correctas.

    URL especifica la ubicación del host para .NET Core o .NET 5+. Para un perfil que tenga el mismo nombre que el proyecto (es decir, la propiedad commandName en launchSettings.json es Project), el servidor Kestrel escucha el puerto especificado. Para un perfil de IIS, suele ser el mismo valor que la dirección URL de la aplicación . Para obtener más información, consulte la sección Perfil de inicio de IIS en Configurar el proyecto.

    La dirección URL de la aplicación y la dirección URL de SSL de la aplicación especifican las direcciones URL de la aplicación.

    • Para un perfil de https, la propiedad URL de la aplicación suele ser https://localhost:7241;http://localhost:5175.
    • Para un perfil nombrado según el proyecto, estas propiedades son típicamente http://localhost:5000 y https://localhost:5001.
    • Para IIS Express, la dirección URL de SSL de la aplicación suele ser https://localhost:44334.
  6. En Variables de entorno, asegúrese de que ASPNETCORE_ENVIRONMENT esté presente con un valor de Desarrollo. Si no es así, agregue la variable .

    Configuraciones del depurador de ASP.NET Core

    Para obtener más información sobre las variables de entorno, consulte Entornos.

  7. Para depurar la aplicación, en el proyecto, establezca puntos de interrupción en algún código. En barra de herramientas de Visual Studio, asegúrese de que la configuración se haya establecido en Depurar.

  8. Para iniciar la depuración, seleccione el nombre del perfil en la barra de herramientas, como https, IIS Expresso <nombre de perfil de IIS> en la barra de herramientas, seleccione Iniciar depuración en el menú depuración de o presione F5. El depurador se detiene en los puntos de interrupción. Si el depurador no puede alcanzar los puntos de interrupción, vea Solución de problemas de depuración.

Depuración de aplicaciones ASP.NET Core

IIS Express es el valor predeterminado y está preconfigurado. Si realiza la depuración en IIS local, asegúrese de que cumple los requisitos para la depuración de IIS local.

  1. Seleccione el proyecto ASP.NET Core de Visual Studio Explorador de Soluciones y haga clic en el icono Propiedades, o presione Alt+Enter, o haga clic con el botón derecho y elija Propiedades.

  2. Seleccione la pestaña Depurar.

  3. En el panel Propiedades, junto a Perfil,

    • Para IIS Express, seleccione IIS Express del desplegable.
    • En IIS local, seleccione el nombre de la aplicación en la lista desplegable o seleccione Nuevo, cree un nuevo nombre de perfil y seleccione Aceptar.
  4. Junto a Launch, seleccione IIS Express o IIS en la lista desplegable.

  5. Asegúrese de que Iniciar explorador está seleccionado.

  6. En Variables de entorno, asegúrese de que ASPNETCORE_ENVIRONMENT esté presente con un valor de Desarrollo. Si no es así, seleccione Agregar y agréguelo.

    Configuración del depurador de ASP.NET Core

  7. Use Archivo>Guardar elementos seleccionados o presione Ctrl+S para guardar los cambios.

  8. Para depurar la aplicación, en el proyecto, establezca puntos de interrupción en algún código. En la barra de herramientas de Visual Studio, asegúrese de que la configuración esté establecida en Depurar y de que IIS Express o el nuevo nombre del perfil de IIS aparezcan en el campo emulador.

  9. Para iniciar la depuración, seleccione de IIS Express o <nombre de perfil de IIS> en la barra de herramientas, seleccione Iniciar depuración en el menú Depurar o presione F5. El depurador se detiene en los puntos de interrupción. Si el depurador no puede alcanzar los puntos de interrupción, vea Solución de problemas de depuración.

Depurar aplicaciones ASP.NET

IIS Express es el valor predeterminado y está preconfigurado. Si realiza la depuración en IIS local, asegúrese de que cumple los requisitos para la depuración de IIS local.

  1. Seleccione el proyecto de ASP.NET en Visual Studio en el explorador de soluciones y haga clic en el icono de Propiedades o presione Alt+Intro, o haga clic con el botón derecho y elija Propiedades.

  2. Seleccione la pestaña Web.

    Si no ve la pestaña Web, consulte Depurar aplicaciones de ASP.NET Core. La pestaña Web solo aparece para ASP.NET Framework.

  3. En el panel Propiedades, en Servidores,

    • En Kestrel, seleccione https en la lista desplegable.
    • Para IIS Express, seleccione IIS Express en la lista desplegable.
    • Para IIS local,
      1. Seleccione IIS local en la lista desplegable.
      2. Junto al campo dirección URL del proyecto de, seleccione Crear directorio virtual, si aún no ha configurado la aplicación en IIS.
  4. En Depuradores, seleccione ASP.NET.

    Captura de pantalla que muestra la configuración del depurador de ASP.NET.

  5. Elija Archivo>Guardar elementos seleccionados (o presione Ctrl+S) para guardar los cambios.

  6. Para depurar la aplicación, en el proyecto, establezca puntos de interrupción en algún código. En la barra de herramientas de Visual Studio, asegúrese de que la configuración esté establecida en Depurar y el explorador que quiera aparezca en IIS Express (<Nombre del explorador>) o IIS local (<Nombre del explorador>) en el campo emulador.

  7. Para iniciar la depuración, seleccione IIS Express (<Nombre del explorador>) o IIS local (<Nombre del explorador>) en la barra de herramientas, seleccione Iniciar depuración en el menú depuración de o presione F5. El depurador se detiene en los puntos de interrupción. Si el depurador no puede alcanzar los puntos de interrupción, vea Solución de problemas de depuración.

Solución de problemas de depuración

Si la depuración de IIS local no puede progresar hasta el punto de interrupción, siga estos pasos para solucionar el problema.

  1. Inicie la aplicación web desde IIS y asegúrese de que se ejecuta correctamente. Deje la aplicación web en ejecución.

  2. En Visual Studio, seleccione Depurar > Asociar al proceso o presione Ctrl+Alt+Py conéctese al proceso ASP.NET o ASP.NET Core (normalmente w3wp.exe o dotnet.exe). Para obtener más información, consulte Asociar al proceso y Cómo: Buscar el nombre de un proceso de ASP.NET.

Si puede conectarse y alcanzar el punto de interrupción mediante Asociar al proceso, pero no mediante Depurar>Iniciar depuración o F5, es probable que un valor de configuración sea incorrecto en las propiedades del proyecto. Si usa un archivo HOSTS, asegúrese de que también está configurado correctamente.

Configuración de la depuración en el archivo web.config

Por defecto, los proyectos de ASP.NET tienen archivos web.config, que contienen tanto la configuración de la aplicación como la información de inicio, incluida la configuración de depuración. Los archivos web.config deben estar configurados correctamente para la depuración. Las configuraciones de propiedades de las secciones anteriores actualizan los archivos web.config, pero también puedes configurarlos manualmente.

Nota

Los proyectos de ASP.NET Core no tienen inicialmente archivos web.config, pero usan archivos appsettings.json y launchSettings.json para la configuración de la aplicación y la información de inicio. La implementación de la aplicación crea un archivo web.config o archivos en el proyecto, pero normalmente no contiene información de depuración.

Sugerencia

El proceso de implementación puede actualizar la configuración de web.config, por lo que antes de intentar depurar, asegúrese de que el web.config está configurado para la depuración.

Para configurar manualmente un archivo web.config para la depuración:

  1. En Visual Studio, abra el archivo web.config del proyecto de ASP.NET.

  2. Web.config es un archivo XML, por lo que contiene secciones anidadas marcadas por etiquetas. Localice la sección configuration/system.web/compilation. (Si el elemento compilation no existe, créelo).

  3. Asegúrese de que el atributo debug del elemento compilation esté establecido en true. (Si el elemento compilation no contiene un atributo debug, agréguelo y establézcalo en true).

    Si usa IIS local en lugar del servidor EXPRESS de IIS predeterminado, asegúrese de que el valor del atributo targetFramework en el elemento compilation coincide con el marco del servidor IIS.

    El elemento compilation del archivo web.config debe tener un aspecto similar al del ejemplo siguiente:

    Nota

    Este ejemplo es un archivo web.config parcial. Normalmente hay secciones XML adicionales en los elementos configuration y system.web, y el elemento compilation también puede contener otros atributos y elementos.

    <configuration>
       ...
       <system.web>
           <compilation  debug="true"  targetFramework="4.6.1" ... >
              ...
           </compilation>
       </system.web>
    </configuration>
    

ASP.NET detecta automáticamente los cambios en los archivos web.config y aplica las nuevas opciones de configuración. No tiene que reiniciar el equipo ni el servidor IIS para que los cambios surtan efecto.

Un sitio web puede contener varios directorios virtuales y subdirectorios, con archivos web.config en cada uno. Aplicaciones ASP.NET heredan las opciones de configuración de archivos web.config en niveles superiores del camino de URL. Las configuraciones del archivo jerárquico web.config se aplican a todas las aplicaciones ASP.NET debajo de ellos en la jerarquía. Al establecer una configuración diferente en un archivo de web.config inferior en la jerarquía, se invalida la configuración del archivo superior.

Por ejemplo, si especifica debug="true" en www.microsoft.com/aaa/web.config, cualquier aplicación de la carpeta aaa o en cualquier subcarpeta de aaa hereda esa configuración, excepto si una de esas aplicaciones invalida la configuración con su propio archivo web.config.

Importante

El modo de depuración reduce considerablemente el rendimiento de la aplicación. Al implementar una aplicación de producción o realizar medidas de rendimiento, establezca debug="false" en web.config y especifique una compilación de versión.