asp.net mvc true Los puntos de interrupción de Visual Studio no se ven afectados




set up remote debugging visual studio 2017 (10)

Estoy trabajando con un proyecto ASP.NET MVC que parece tener algunos problemas cuando se conecta al proceso IIS (w3wp.exe). Estoy ejecutando la solución e IIS 8.5 en mi máquina local, así que no creo que esto tenga nada que ver con nuestra red. Lo que me resulta extraño es que puedo acceder a los puntos de interrupción de cualquier otra solución que depure localmente.

El problema que estoy teniendo exactamente es que los puntos de ruptura cambian a círculos rojos y huecos y nunca son golpeados. Por lo general, la solución es limpiar / reconstruir la solución, pero esto no funcionó. Confirmé que el código se está actualizando agregando "lanzar nueva excepción" a una página y asegurándome de que muestra la excepción. Nuevamente, este problema solo está sucediendo con esta única solución. Cualquier otra solución con la que ejecuto el depurador funciona bien. También intenté reiniciar el grupo de aplicaciones, el sitio web, IIS y también mi computadora.

Algunos de los artículos que leí mencionaron que los programas antivirus pueden impedir que un depurador remoto acceda al proceso. Sin embargo, toda la configuración está contenida en mi máquina local, por lo que no parece ser el problema. Sin embargo, me preocupa un poco porque recientemente contratamos a un nuevo técnico de TI que ha estado haciendo muchos cambios en la máquina de todos.

Otro punto para agregar que es único sobre esta aplicación web es el enlace en IIS. El enlace es "*" para aprovechar algunas funcionalidades personalizadas relacionadas con los subdominios.

Mientras tanto, seguiré buscando una solución, pero si alguien tiene alguna idea de lo que puede estar haciendo que esta solución no se depure correctamente, realmente lo agradecería.

EDITAR: Encontré una solución que sugería eliminar los archivos temporales de ASP.NET. Sin suerte.



Si alguien está usando Visual Studio 2017 e IIS y está tratando de depurar un proyecto de sitio web, lo siguiente funcionó para mí:

  1. Adjunte el proyecto del sitio web a IIS.
  2. Agréguela a la solución con Archivo -> Agregar -> Sitio web existente ... y seleccione el proyecto del directorio inetpub/wwwroot .
  3. Haga clic derecho en el proyecto del sitio web en el explorador de soluciones y seleccione Páginas de propiedades -> Opciones de inicio
  4. Haga clic en Página específica y seleccione la página de inicio (Para el servicio, use Service.svc , para el uso del sitio web Default.aspx o el nombre personalizado para la página que seleccionó).
  5. Haga clic en Usar servidor personalizado y escriba

http (s): // localhost / (nombre del sitio web como aparece en IIS)

por ejemplo: http://localhost/MyWebSite

¡Eso es! No olvide asegurarse de que el sitio web se ejecuta en el IIS y de que el sitio web que desea depurar esté seleccionado como el proyecto de inicio ( haga clic con el botón derecho en -> Establecer como proyecto de inicio).

Publicación original: cómo depurar sus proyectos ASP.NET que se ejecutan bajo IIS


Luché para siempre tratando de arreglar esto. Finalmente esto es lo que hizo por mí.

Seleccione Depurar-> Opciones-> Depuración-> General

Marque Habilitar avance de fuente de .NET Framework.

(Esto puede ser todo lo que necesita hacer, pero si es como yo, también debe hacer los que se detallan a continuación. La solución siguiente también solucionará los errores en los que su proyecto esté cargando archivos antiguos / archivos .pdb a pesar de la reconstrucción y limpieza).

Seleccione Herramientas -> Opciones -> Proyectos y soluciones -> Crear y ejecutar ,

Desmarque la casilla de verificación " Solo crear proyectos de inicio y dependencias en Ejecutar ",

Seleccione Crear siempre desde el menú desplegable " En ejecución, cuando el proyecto está desactualizado ".


Tuve el mismo problema.

Se resolvió desactivando la configuración de Propiedades> Compilar> Optimizar código en la pantalla de propiedades de la página web (en General). Screenshot.


Resuelto Terminó siendo una configuración incorrecta seleccionada en el menú de depuración. Lo había cambiado por error a una configuración de lanzamiento que no podía cargar los símbolos para el documento. Lo cambié a una configuración de depuración y los puntos de interrupción tocan muy bien ahora.

Para agregar lo que Abacus mencionó a continuación, también podría ser una transformación web.config que está jugando con tu compilación. En nuestro caso, tenemos configuraciones de versión que eliminan el atributo de debug de la sección de compilación de web.config. A continuación se muestra una captura de pantalla de un ejemplo y la lista desplegable de Visual Studio de configuraciones de compilación.

NOTA: También asegúrese de que su Plataforma sea correcta junto con la configuración. En mi caso, Dev.Debug|Mixed Platforms no construye correctamente la solución, pero Dev.Debug|Any CPU hará.


Sé que este no es el problema de los OP, pero sucedió esto en un proyecto. La solución tenía múltiples proyectos de MVC y el proyecto incorrecto se estableció como inicio.

También establecí la configuración de los proyectos para iniciar el proceso / depuración y no abrir una nueva ventana del navegador.

Así que en la superficie parece que el depurador se está iniciando, pero lo hace para el proceso incorrecto. Así que verifique eso y tenga en cuenta que también puede conectarse a múltiples procesos.

Error tonto que me dejó rascándome la cabeza durante unos 30 minutos.


Esto es lo que me solucionó

en el menú de Visual Studio. Depurar -> Adjuntar a proceso y luego hacer clic en el botón Seleccionar al lado de adjuntar, como en esta imagen Adjuntar para procesar

y luego se asegura de que la opción "Determinar automáticamente el tipo de código para depurar" sea seleccionada. como abajo

Seleccionar tipo de código

Espero que esto ayude.


Habilite 'Modo de compatibilidad administrada'. Vaya a Herramientas-> Opciones-> Depuración y active el Modo de compatibilidad administrada.


Welp no me siento como un bafoon!

Así que después de horas de pelear con VS 2017 me di cuenta de lo que hice mal. Espero que esto ayude a alguien más. Entonces, en mi caso de ejemplo, tengo una aplicación MVC y WebAPI en una solución y estoy usando IIS local (no expreso). También configuré los sitios en IIS como dominios reales y edité mi archivo de host para poder escribir en el dominio real y todo funciona. También noté dos cosas, la primera fue que la depuración del código MVC funcionaba perfectamente. El segundo proceso de vinculación también funcionó perfectamente, solo cuando se depuró no llegó al punto de interrupción en mi API. Haga clic derecho en el proyecto webapi> propiedades> Web> URL del proyecto ... Esta fue la clave para mí. Por defecto apunta a localhost, pero desde que configuré el sitio en IIS olvidé cambiar la URL al dominio del sitio web. es decir, en lugar de locahost / debería decir http: // {domain-name} /.


Haga clic derecho en su proyecto => Propiedad => Web Verifique que el servidor correcto esté seleccionado (¿IIS local? ¿IIS Express?)





visual-studio-debugging