Depurar aplicaciones ASP.NET o ASP.NET Core en Visual StudioDebug ASP.NET or ASP.NET Core apps in Visual Studio

Puede depurar aplicaciones ASP.NET y ASP.NET Core en Visual Studio.You can debug ASP.NET and ASP.NET Core apps in Visual Studio. El proceso varía entre ASP.NET y ASP.NET Core, y si se ejecuta en un servidor local de IIS o IIS Express.The process differs between ASP.NET and ASP.NET Core, and whether you run it on IIS Express or a local IIS server.

Note

Los siguientes pasos y configuraciones se aplican solo a depurar aplicaciones en un servidor local.The following steps and settings apply only to debugging apps on a local server. Depuración de aplicaciones en un servidor remoto de IIS server utiliza asociar al procesoe ignora esta configuración.Debugging apps on a remote IIS server uses Attach to Process, and ignores these settings. Para obtener más información e instrucciones para aplicaciones ASP.NET de depuración remotas en IIS, consulte depuración remota de ASP.NET en un equipo de IIS o depuración remota de ASP.NET Core en un equipo IIS remoto.For more information and instructions for remote debugging ASP.NET apps on IIS, see Remote debug ASP.NET on an IIS computer or Remote debug ASP.NET Core on a remote IIS computer.

El servidor integrado de IIS Express se incluye con Visual Studio.The built-in IIS Express server is included with Visual Studio. IIS Express es el servidor de depuración predeterminado para los proyectos de ASP.NET y ASP.NET Core y está preconfigurado.IIS Express is the default debug server for ASP.NET and ASP.NET Core projects, and is preconfigured. Es la manera más fácil de depurar y ideal para una depuración y prueba inicial.It's the easiest way to debug, and ideal for initial debugging and testing.

También puede depurar una aplicación ASP.NET o ASP.NET Core en un servidor IIS local (versión 8.0 o posterior) que está configurada para ejecutar la aplicación.You can also debug an ASP.NET or ASP.NET Core app on a local IIS server (version 8.0 or higher) that is configured to run the app. Para depurar en IIS local, debe cumplir los siguientes requisitos:To debug on local IIS, you must meet the following requirements:

  • Seleccione IIS son compatibles con el tiempo de desarrollo al instalar Visual Studio.Select Development time IIS support when installing Visual Studio. (Si es necesario, vuelva a ejecutar el instalador de Visual Studio, seleccione modificary agregue este componente.)(If necessary, rerun the Visual Studio Installer, select Modify, and add this component.)
  • Ejecutar Visual Studio como administrador.Be running Visual Studio as an administrator.
  • Instalar y configurar correctamente IIS con las versiones de ASP.NET o ASP.NET Core adecuadas.Install and correctly configure IIS with the appropriate version(s) of ASP.NET and/or ASP.NET Core. Para obtener más información e instrucciones, consulte IIS 8.0 utilizando ASP.NET 3.5 y ASP.NET 4.5 o Host ASP.NET Core en Windows con IIS.For more information and instructions, see IIS 8.0 Using ASP.NET 3.5 and ASP.NET 4.5 or Host ASP.NET Core on Windows with IIS.
  • Asegúrese de que la aplicación se ejecuta en IIS sin errores.Make sure the app runs on IIS without errors.

Depuración de aplicaciones ASP.NETDebug ASP.NET apps

IIS Express es el valor predeterminado y está preconfigurado.IIS Express is the default, and is preconfigured. Si está depurando en IIS Local, asegúrese de cumplir el requisitos para la depuración local de IIS.If you're debugging on Local IIS, make sure you meet the requirements for local IIS debugging.

  1. Seleccione el proyecto ASP.NET en Visual Studio el Explorador de soluciones y haga clic en el propiedades icono, presione Alt+ENTRAR, o bien haga clic en y elija propiedades.Select the ASP.NET project in Visual Studio Solution Explorer and click the Properties icon, press Alt+Enter, or right-click and choose Properties.

  2. Seleccione el Web ficha.Select the Web tab.

  3. En el propiedades panel, en servidores,In the Properties pane, under Servers,

    • Para IIS Express, seleccione IIS Express en la lista desplegable.For IIS Express, select IIS Express from the dropdown.
    • Para IIS local,For local IIS,
      1. Seleccione IIS Local en la lista desplegable.Select Local IIS from the dropdown.
      2. Junto a la dirección URL del proyecto campos, seleccione crear directorio Virtual, si aún no ha configurado la aplicación en IIS.Next to the Project URL field, select Create Virtual Directory, if you haven't yet set up the app in IIS.
  4. En depuradores, seleccione ASP.NET.Under Debuggers, select ASP.NET.

    Configuración del depurador ASP.NETASP.NET debugger settings

  5. Use archivo > guardar los elementos seleccionados o Ctrl+S guardar los cambios.Use File > Save Selected Items or Ctrl+S to save any changes.

  6. Para depurar la aplicación, en el proyecto, establecer puntos de interrupción en código.To debug the app, in your project, set breakpoints on some code. En la barra de herramientas de Visual Studio, asegúrese de que la configuración está establecida en depurar, y aparece el explorador que desee en IIS Express (<nombre explorador >) o (deIISLocal< Nombre del explorador >) en el campo del emulador.In the Visual Studio toolbar, make sure the configuration is set to Debug, and the browser you want appears in IIS Express (<Browser name>) or Local IIS (<Browser name>) in the emulator field.

  7. Para iniciar la depuración, seleccione IIS Express (<nombre explorador >) o IIS Local (<nombre explorador >) en la barra de herramientas, seleccione Iniciar depuracióndesde el depurar menús o presione F5.To start debugging, select IIS Express (<Browser name>) or Local IIS (<Browser name>) in the toolbar, select Start Debugging from the Debug menu, or press F5. El depurador se detiene en los puntos de interrupción.The debugger pauses at the breakpoints. Si el depurador no puede alcanzar los puntos de interrupción, consulte solución de problemas de depuración.If the debugger can't hit the breakpoints, see Troubleshoot debugging.

Depurar aplicaciones de ASP.NET CoreDebug ASP.NET Core apps

IIS Express es el valor predeterminado y está preconfigurado.IIS Express is the default, and is preconfigured. Si está depurando en IIS Local, asegúrese de cumplir el requisitos para la depuración local de IIS.If you're debugging on Local IIS, make sure you meet the requirements for local IIS debugging.

  1. Seleccione el proyecto de ASP.NET Core en Visual Studio el Explorador de soluciones y haga clic en el propiedades icono, presione Alt+ENTRAR, o bien haga clic en y elija propiedades.Select the ASP.NET Core project in Visual Studio Solution Explorer and click the Properties icon, press Alt+Enter, or right-click and choose Properties.

  2. Seleccione la pestaña Depurar.Select the Debug tab.

  3. En el propiedades panel, junto a perfil,In the Properties pane, next to Profile,

    • Para IIS Express, seleccione IIS Express en la lista desplegable.For IIS Express, select IIS Express from the dropdown.
    • Para IIS local, seleccione el nombre de la aplicación en la lista desplegable o seleccione New, crear un nuevo nombre de perfil y seleccione Aceptar.For local IIS, select the app name from the dropdown, or select New, create a new profile name, and select OK.
  4. Junto a iniciar, seleccione IIS Express o IIS en la lista desplegable.Next to Launch, select either IIS Express or IIS from the dropdown.

  5. Asegúrese de que Iniciar explorador está seleccionada.Make sure Launch browser is selected.

  6. En variables de entorno, asegúrese de que ASPNETCORE_ENVIRONMENT está presente con un valor de desarrollo.Under Environment variables, make sure that ASPNETCORE_ENVIRONMENT is present with a value of Development. Si no, seleccione agregar y agréguelo.If not, select Add and add it.

    Configuración del depurador de ASP.NET CoreASP.NET Core debugger settings

  7. Use archivo > guardar los elementos seleccionados o Ctrl+S guardar los cambios.Use File > Save Selected Items or Ctrl+S to save any changes.

  8. Para depurar la aplicación, en el proyecto, establecer puntos de interrupción en código.To debug the app, in your project, set breakpoints on some code. En la barra de herramientas de Visual Studio, asegúrese de que la configuración está establecida en depurary IIS Express, o el nuevo nombre de perfil IIS, aparece en el campo de emulador.In the Visual Studio toolbar, make sure the configuration is set to Debug, and either IIS Express, or the new IIS profile name, appears in the emulator field.

  9. Para iniciar la depuración, seleccione IIS Express o <el nombre del perfil IIS > en la barra de herramientas, seleccione Iniciar depuración desde el depurar menús o presione F5.To start debugging, select IIS Express or <IIS profile name> in the toolbar, select Start Debugging from the Debug menu, or press F5. El depurador se detiene en los puntos de interrupción.The debugger pauses at the breakpoints. Si el depurador no puede alcanzar los puntos de interrupción, consulte solución de problemas de depuración.If the debugger can't hit the breakpoints, see Troubleshoot debugging.

Solución de problemas de depuraciónTroubleshoot debugging

Si la depuración de IIS local no avanza hasta el punto de interrupción, siga estos pasos para solucionar problemas.If local IIS debugging can't progress to the breakpoint, follow these steps to troubleshoot.

  1. Inicie la aplicación web de IIS y asegúrese de que se ejecuta correctamente.Start the web app from IIS, and make sure it runs correctly. Deje que se ejecute la aplicación web.Leave the web app running.

  2. En Visual Studio, seleccione Depurar > asociar al proceso o presione Ctrl+Alt+P, y conectar al proceso de ASP.NET o ASP.NET Core (normalmente w3wp.exe o dotnet.exe).From Visual Studio, select Debug > Attach to Process or press Ctrl+Alt+P, and connect to the ASP.NET or ASP.NET Core process (typically w3wp.exe or dotnet.exe). Para obtener más información, consulte asociar al proceso y cómo buscar el nombre del proceso de ASP.NET.For more information, see Attach to Process and How to find the name of the ASP.NET process.

Si puede conectarse y alcanzar el punto de interrupción mediante el uso de asociar al proceso, pero no mediante depurar > Iniciar depuración o F5, una configuración probablemente es incorrecta en las propiedades del proyecto.If you can connect and hit the breakpoint by using Attach to Process, but not by using Debug > Start Debugging or F5, a setting is probably incorrect in the project properties. Si usa un archivo de HOSTS, asegúrese de que también está configurado correctamente.If you use a HOSTS file, make sure it's also configured correctly.

Configurar la depuración en el archivo web.configConfigure debugging in the web.config file

Los proyectos de ASP.NET tienen web.config de forma predeterminada, los archivos que contienen tanto información de configuración e iniciar la aplicación, incluida la configuración de depuración.ASP.NET projects have web.config files by default, which contain both app configuration and launch information, including debug settings. El web.config archivos deben estar configurados correctamente para la depuración.The web.config files must be configured correctly for debugging. El propiedades configuración de actualización de las secciones anteriores la web.config archivos, pero puede también configurarlos manualmente.The Properties settings in previous sections update the web.config files, but you can also configure them manually.

Note

Proyectos de ASP.NET Core no tienen inicialmente web.config archivos, pero use appsettings.json y launchSettings.json archivos de configuración de la aplicación y lanzamiento información.ASP.NET Core projects do not initially have web.config files, but use appsettings.json and launchSettings.json files for app configuration and launch information. Implementación de la aplicación crea un web.config archivo o archivos en el proyecto, pero normalmente no contienen información de depuración.Deploying the app creates a web.config file or files in the project, but they do not typically contain debug information.

Tip

El proceso de implementación se puede actualizar el web.config configuración, por lo que antes de intentar depurar, asegúrese de que el web.config está configurado para la depuración.Your deployment process may update the web.config settings, so before trying to debug, make sure the web.config is configured for debugging.

Para configurar manualmente un web.config archivo para la depuración:To manually configure a web.config file for debugging:

  1. En Visual Studio, abra el proyecto ASP.NET web.config archivo.In Visual Studio, open the ASP.NET project's web.config file.

  2. Web.config es un archivo XML, por lo que contiene secciones anidadas marcadas por etiquetas.Web.config is an XML file, so contains nested sections marked by tags. Busque el configuration/system.web/compilation sección.Locate the configuration/system.web/compilation section. (Si el compilation elemento no existe, créela.)(If the compilation element doesn't exist, create it.)

  3. Asegúrese de que el debug atributo en el compilation elemento está establecido en true.Make sure that the debug attribute in the compilation element is set to true. (Si la compilation elemento no contiene un debug atributo, agregarlo y establézcalo como true.)(If the compilation element doesn't contain a debug attribute, add it and set it to true.)

    Si está utilizando IIS local en lugar del servidor de IIS Express de forma predeterminada, asegúrese de que el targetFramework atributo valor en el compilation elemento coincide con el marco de trabajo en el servidor IIS.If you are using local IIS instead of the default IIS Express server, make sure that the targetFramework attribute value in the compilation element matches the framework on the IIS server.

    El compilation elemento de la web.config archivo debe ser similar al ejemplo siguiente:The compilation element of the web.config file should look like the following example:

    Note

    En este ejemplo es una parcial web.config archivo.This example is a partial web.config file. Hay secciones XML normalmente adicionales en el configuration y system.web elementos y el compilation elemento también puede contener otros elementos y atributos.There are usually additional XML sections in the configuration and system.web elements, and the compilation element might also contain other attributes and elements.

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

ASP.NETASP.NET detecta automáticamente los cambios realizados en web.config archivos y aplica la nueva configuración. automatically detects any changes to *web.config* files and applies the new configuration settings. No tiene que reiniciar el equipo o el servidor IIS para que los cambios surtan efecto.You don't have to restart the computer or the IIS server for changes to take effect.

Un sitio Web puede contener varios directorios y subdirectorios virtuales, con web.config archivos en cada uno de ellos.A website can contain several virtual directories and subdirectories, with web.config files in each one. ASP.NETASP.NET las aplicaciones heredan los valores de configuración de web.config archivos en niveles superiores de la ruta de acceso de dirección URL. apps inherit configuration settings from *web.config* files at higher levels in the URL path. El jerárquica web.config configuración del archivo que se aplicará a todos los ASP.NETASP.NET aplicaciones por debajo de ellas en la jerarquía.The hierarchical web.config file settings apply to all ASP.NETASP.NET apps below them in the hierarchy. Establecer una configuración diferente en un web.config inferior en la jerarquía del archivo invalida los valores en el archivo mayor.Setting a different configuration in a web.config file lower in the hierarchy overrides the settings in the higher file.

Por ejemplo, si especifica debug="true" en www.microsoft.com/aaa/web.config, cualquier aplicación en el aaa carpeta o en cualquier subcarpeta de aaa hereda ese valor, excepto si una de esas aplicaciones reemplaza la configuración con su propia web.config archivo.For example, if you specify debug="true" in www.microsoft.com/aaa/web.config, any app in the aaa folder or in any subfolder of aaa inherits that setting, except if one of those apps overrides the setting with its own web.config file.

Publicar en el modo de depuración con el sistema de archivosPublish in debug mode using the file system

Hay diferentes maneras de publicar aplicaciones en IIS.There are different ways to publish apps to IIS. Estos pasos muestran cómo crear e implementar un perfil de publicación con el sistema de archivos de depuración.These steps show how to create and deploy a debug Publish profile using the file system. Para ello, debe ejecutar Visual Studio como administrador.To do this, you must be running Visual Studio as an administrator.

Important

Si cambia el código o la regeneración, debe repetir estos pasos para volver a publicar.If you change your code or rebuild, you must repeat these steps to republish.

  1. En Visual Studio, haga clic en el proyecto y elija publicar.In Visual Studio, right-click the project and choose Publish.

  2. Elija IIS, FTP, etcetera y haga clic en publicar.Choose IIS, FTP, etc and click Publish.

    Publicar en IISPublish to IIS

  3. En el CustomProfile cuadro de diálogo para método Publish, elija sistema de archivos.In the CustomProfile dialog, for Publish method, choose File system.

  4. Para ubicación de destino, seleccione examinar (... ).For Target location, select Browse (...).

    • Para ASP.NET, seleccione IIS Local, seleccione el sitio Web que creó para la aplicación y, a continuación, seleccione abierto.For ASP.NET, select Local IIS, select the website you created for the app, and then select Open.

      Publicar en ASP.NET a IISPublish to ASP.NET to IIS

    • Para ASP.NET Core, seleccione sistema de archivos, seleccione la carpeta configurado para la aplicación y, a continuación, seleccione abierto.For ASP.NET Core, select File System, select the folder you set up for the app, and then select Open.

  5. Seleccione Siguiente.Select Next.

  6. En configuración, seleccione depurar en la lista desplegable.Under Configuration, select Debug from the dropdown.

  7. Seleccione Guardar.Select Save.

  8. En el publicar cuadro de diálogo, asegúrese de que CustomProfile (o el nombre del perfil que acaba de crear) aparezca, y LastUsedBuildConfiguration está establecido en Depurar.In the Publish dialog, make sure CustomProfile (or the name of the profile you just created) appears, and LastUsedBuildConfiguration is set to Debug.

  9. Seleccione Publicar.Select Publish.

    Publicar en IISPublish to IIS

Important

Modo de depuración reduce en gran medida el rendimiento de la aplicación.Debug mode greatly reduces the performance of your app. Para obtener el mejor rendimiento, establezca debug="false" en el web.config y especifique una compilación de versión al implementar una aplicación de producción o realizar mediciones de rendimiento.For best performance, set debug="false" in the web.config and specify a Release build when you deploy a production app or conduct performance measurements.

Vea tambiénSee also

Depuración ASP.NET: requisitos del sistema ASP.NET debugging: system requirements
Cómo: ejecutar el proceso de trabajo en una cuenta de usuario How to: Run the worker process under a user account
Cómo: buscar el nombre del proceso de ASP.NET How to: Find the name of the ASP.NET process
Depurar aplicaciones web implementadas Debug deployed web applications
Tutorial: Depurar un formulario web Forms Walkthrough: Debugging a web form
Cómo: depurar excepciones de ASP.NET How to: Debug ASP.NET exceptions
Depurar aplicaciones web: errores y solución de problemasDebug web applications: Errors and troubleshooting