El proyecto de Visual Studio 2015 ya no se ejecuta en modo de depuración

95

Esto es lo que obtengo incluso cuando ejecuto la configuración de depuración:

La forma en que hice que esto se mostrara fue habilitando "Solo mi código" y advertir si no hay ningún código de usuario en el inicio. Esto es algo que le sucedió recientemente a nuestro proyecto, y no estoy seguro de qué hicimos para causarlo. Pero no he podido arreglarlo. Los puntos de interrupción no se activan y la vigilancia rápida da resultados extraños.

Intenté buscar en Google el problema, pero ninguna de las soluciones estándar de "puntos de interrupción no se activan" ha funcionado. Estoy sin ideas.

Revisé el administrador de configuración y todos los proyectos también están configurados para depurar allí.

Ingrese la descripción de la imagen aquí

Apagué "Habilitar optimizaciones" y ya no aparece el cuadro de diálogo "Estás depurando una versión de versión". ¡Se ejecuta y se detiene en puntos de interrupción nuevamente! Sin embargo, la ventana de salida muestra esto al inicio:

No se cargaron los símbolos del módulo 'Navigo.exe'.

  1. Use una configuración de compilación de depuración o desactive la opción de depuración 'Habilitar solo mi código'.
  2. Verifique la configuración de 'Símbolos' en las opciones de depuración.

Entonces, esto resuelve mi problema principal de no poder usar puntos de interrupción y la ventana emergente. Lo cual es extraño ya que pensé que necesitabas que se carguen símbolos para que los puntos de interrupción funcionen. Entonces, ¿cómo pueden funcionar los puntos de interrupción si los símbolos no están cargados? ¿Quizás es solo un mal mensaje?

Sen
fuente
Entonces, en pocas palabras, tuviste algún tipo de problema que no conocemos. Y cambió la configuración global del depurador y ahora tiene dos problemas. Vuelva a poner todo como estaba y describa su primer problema.
Hans Passant
@HansPassant este es el problema original. Parece haber comenzado a suceder una vez que actualizamos para usar VS2015. He revertido cualquiera de mis cambios de "¿funcionará esto?" Antes de publicar. Desmarcar "Optimizar código" parece haber ayudado. Consulte la Actualización 2 en cuestión para obtener más detalles.
Sen
¿Puede explicar cuál es su solución? ¿Cuáles son los proyectos, en qué idiomas están, a qué se dirigen, cuál es el proyecto de inicio?
Lucian Wischik
Habilite Solo mi código nuevamente. ¿Está intentando depurar ensamblados referenciados que no tiene el código fuente?
Igor Quirino

Respuestas:

95

Use el Administrador de configuración para verificar cuáles son las configuraciones reales para la configuración de depuración, está en el menú GenerarAdministrador de configuración ... en caso de que estén configurados para usar la versión :

Administrador de configuración

Además, asegúrese de que el proyecto esté definiendo DEBUG correctamente y que "Optimizar código" no esté marcado:

Propiedades

stuartd
fuente
2
Acabo de comprobar allí y todos están configurados para depurar. Actualicé la publicación con una captura de pantalla. ¿Alguna otra idea?
Sen
1
editó mi pregunta. Se marcó el código de optimización, desmarcarlo parece haber ayudado. Pero vea la pregunta para más detalles.
Sen
1
@Sen Parece que alguien configuró mal la configuración de la compilación de depuración. Una compilación de depuración con código optimizado no tiene ningún sentido. En cuanto al problema de los símbolos: ¿Quizás alguien los desactivó para la compilación de depuración? Pulsa el botón "Avanzado" en la configuración de compilación y comprueba que "Información de depuración" esté configurada como "completa" en la compilación de depuración.
cremor
6
Desmarcar el código de Optimize funcionó. No estoy seguro de cómo fue verificado para empezar, pero una vez que estuvo apagado, todo pareció comenzar a funcionar nuevamente. Todas las demás configuraciones de depuración eran correctas, esta fue la única fuera de control. Tampoco aparece el mensaje "Símbolos no cargados".
Sen
94

Esto también me ha pasado en un par de proyectos. Revisé mi configuración de compilación, como lo sugirió stuartd . Sin embargo, 'Optimizar código' no estaba habilitado en mi configuración de compilación. Así que lo habilité y guardé el proyecto. Luego lo desmarqué y guardé de nuevo. Problema resuelto.

Hay algún tipo de error que hace que la --optimize+bandera se pase al depurador. Habilitarlo y luego deshabilitarlo es una solución fácil hasta que se solucione el error.

Adam J.
fuente
1
He visto esto en IntelliJ IDE antes, pero nunca en Visual Studio hasta ahora. Por extraño que parezca, esto también funcionó para mí.
ZaneDarken
1
Actualización de 2017: sigue viendo este problema en Visual Studio 2015 Update 3. La respuesta aceptada no solucionó el problema; esta respuesta lo hizo.
Lews Therin
1
Esta respuesta también solucionó mi entorno de depuración. Gracias !
bob.mazzo
1
¡Guauu! Tuve este problema exacto y esto también funcionó para mí. VS 2015 U3. Increíble ...
AbeyMarquez
1
Comunidad VS2017, todavía con este problema. gracias por esta solución
William Borgo
20

Esto comenzó a sucederme después de aplicar la Actualización 1. Los proyectos existentes comenzaron a mostrar esto, y puedo replicarlo con un proyecto nuevo. Toda la configuración está establecida en DEBUG y Optimizar no está marcado.

El truco es que ejecutar el proyecto la primera vez (o después de una limpieza) funciona bien, sin ningún mensaje. Detener y luego volver a ejecutar el proyecto (nota: el proyecto no está reconstruido ) mostrará el cuadro de diálogo.

La única solución es desactivar la opción Just My Code , que parece un truco, ya que estaba en antes de la Actualización 1 sin ningún problema.

John T
fuente
6
Por lo que vale, el soporte de Microsoft ha reproducido el problema y está investigando. Tan pronto como escuche, informaré / responderé.
John T
2
La misma situación y síntomas aquí, aparecieron después de la actualización 1 de VS2015. Ejecutar una limpieza antes de cada sesión de depuración puede usarse como una solución porque, de hecho, funciona correctamente la primera vez después de eso. Simplemente hacer una reconstrucción no es suficiente, se requiere la limpieza.
AronVanAmmers
2
La palabra de Microsoft es que se trata de un problema conocido (originalmente fue al equipo de depuración, pero se determinó que era un problema de compilación y ahora está en manos del equipo del sistema del proyecto. Hay otros errores abiertos sobre este problema, y ​​es clasificado como Prioridad 1, por lo que debería estar encaminado para la próxima actualización. Aunque, como era de esperar, no se pueden hacer promesas sobre cuándo se lanzará (o qué hay realmente en la actualización). Entonces, se sabe y se está trabajando Al menos desactivar "Habilitar solo mi código" en las Opciones generales de depuración parece ser una solución alternativa por ahora.
John T
¿Existe un enlace a este problema para que podamos seguir su progreso?
SkyrawrCode
13

Si ninguna de las soluciones mencionadas ha ayudado, consulte AssemblyInfo.cs de su proyecto para ver la aplicación DebuggableAttribute explícita. Parece que anula las opciones de depuración / liberación del compilador.

Tenía esta línea en el archivo en mi caso (proyecto heredado, no tengo idea de cómo llegó allí). Eliminarlo resolvió el problema:

[assembly: System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute.DebuggingModes.IgnoreSymbolStoreSequencePoints)]
Dmitry Rotay
fuente
2
Gracias por esto. Estoy trabajando en un proyecto donde mi cliente perdió su código fuente original, así que tuve que generarlo usando un descompilador. Mi única suposición es que el decompilador puso esta línea.
jebar8
Sí, también podría ser la razón en mi caso. Gracias por compartir.
Dmitry Rotay
9

También encontré este problema. La solución que funcionó fue simplemente limpiar ( Build > Clean Solution) y reconstruir ( Build > Rebuild Solution) mis proyectos.

Thijs
fuente
¿Puedes elaborar? Por ejemplo, ¿cómo hacerlo (comandos de menú para invocar, etc.)?
Peter Mortensen
5

Ninguna de las respuestas anteriores funcionó para mí. Reiniciar IIS lo solucionó.

Wezten
fuente
3

Solo agregando una nota al margen a la respuesta de stuartd :

Asegúrese de verificar todos los proyectos dependientes para la misma configuración de compilación. Obtendrá el mismo mensaje si su proyecto principal tiene la configuración adecuada, pero sus proyectos dependientes no. Tiene un sentido obvio en retrospectiva, pero no fue lo primero que me vino a la mente.

dispake
fuente
3

En mi caso, el problema fue que la URL del proyecto IIS en la pestaña web de propiedades del proyecto ASP.NET estaba configurada en la URL incorrecta.

Apuntaba a http: // localhost que estaba usando con una copia diferente del proyecto. La dirección de la solución que tenía abierta estaba realmente configurada en mi IIS local como http: // localhost: 90 .

Cambiar a la dirección correcta solucionó el problema.

Ingrese la descripción de la imagen aquí

un asesino
fuente
2

Intenté casi todo en esta lista, pero al final lo arreglé abriendo las propiedades de la solución y cambiando de "Proyectos de inicio múltiples" a "Proyecto de inicio único" y viceversa.

  1. Haga clic derecho en la solución y elija "Propiedades"
  2. En "Propiedades comunes", cambie la selección "Varios proyectos de inicio" a "Proyecto de inicio único".
  3. Haga clic en Aceptar
  4. Ejecutar depuración
  5. Finalice la depuración y repita los pasos 1-3, pero vuelva a "Varios proyectos de inicio".
  6. Ejecute la depuración de nuevo con varios proyectos
Fijjit
fuente
2

Tuve el mismo problema ... No importa lo que hice, nada funcionó.

Era un nuevo proyecto vacío que era el problema. Terminé eliminando el proyecto y agregando un nuevo proyecto ; el nuevo proyecto tenía que tener otro nombre ; si usé el mismo nombre, el error simplemente reapareció, incluso después de reiniciar, limpiar y reconstruir ... Debe ser un error en Visual Studio 2015.

Kim Rasmussen
fuente
2

Para mí, fue una referencia de NuGet de un servidor NuGet privado. No sé cómo se compiló, pero cambiar la referencia a una referencia de proyecto me ayudó a superar el problema.

Crowcoder
fuente
1

Abrí mi proyecto de Visual Studio 2012 Pro en Visual Studio 2015 Express y tuve el mismo problema.

Revisé las propiedades de mi solución → Propiedades de configuración , y descubrí que un proyecto estaba configurado en Release & x86.

Lo cambié de nuevo a Debug y Any CPU , y el mensaje desapareció.

Jason
fuente
1

En mi caso, estaba desarrollando un complemento VSTO para Outlook , y Outlook cargaba accidentalmente la versión de lanzamiento del archivo DLL que instalé recientemente mientras probaba mi instalador.

Parece que Visual Studio estaba tratando de usar esa DLL en lugar de la debug que esperaba. La reparación del archivo DLL que Outlook está cargando me solucionó este problema.

Devin Dow
fuente
0

Copiando mi otra respuesta de aquí .

Como lo menciona @romanoza, Microsoft ha actualizado el informe de error con la siguiente información:

Desmarque la configuración Depurar -> Opciones -> Suprimir la optimización JIT en la carga del módulo (solo administrado)

Ésta es la solución. Continúan diciendo más tarde:

Recomendamos a las personas que lo dejen sin marcar, ya que si no lo marcan mejorará tanto el rendimiento como el comportamiento de solo mi código en escenarios específicos.

Por último, el reconocimiento:

Es un error que no funciona con esa configuración habilitada y estamos trabajando en una solución para esa situación en caso de que algunos clientes aún quieran depurar con esa configuración activada.

Nate Cook
fuente
0

Pasos de resolución:

  • Vaya a la configuración de compilación de la página de propiedades del proyecto infractor .

  • Desplácese hacia abajo hasta el botón "Avanzado ..." .

  • Asegúrese de que "Información de depuración:" no esté  configurado como "ninguno" .

    Te recomiendo que uses la opción completa .

Igor Quirino
fuente
Recuerde hacer esto para todos los ensamblados que desee depurar.
Igor Quirino
0

Después de ver el enlace de Patrick como un comentario a la pregunta , alguien notó una solución alternativa que era detener el sitio en IIS Express . Pude evitar que surgiera este mismo problema haciendo precisamente eso después de detener el depurador en Visual Studio.

Sin embargo, lo estaba investigando más y creo que también podría estar relacionado con la configuración 'Editar y continuar' del depurador. Cuando desactivé eso en el menú HerramientasOpciones ... de Visual Studio, ya no tenía el problema. Pero eso le impediría utilizar la función Editar y continuar , por lo que no estoy seguro de que valga la pena.

Herramientas de menú → OpcionesDepuradorEditar y continuar (desplácese hasta la parte inferior de la lista General) → desmarque la casilla de verificación Editar y continuar .

También experimenté esto repentinamente después de instalar la Actualización 1, pero podría ser que tuviera esta configuración desactivada en primer lugar ... aunque no estoy seguro.

verbal
fuente
0

En caso de que solo necesite continuar sin más demoras, seleccione la última opción de la ventana emergente y todo se ejecutará igual que antes.

Ingrese la descripción de la imagen aquí

Milán
fuente
Las imágenes JPEG no son la mejor opción para realizar capturas de pantalla. ¿Puede reemplazarlo con una versión PNG (nítida) (o incluso GIF)?
Peter Mortensen
0

Esta fue una alerta extraña.

La reconstrucción de la solución no borrará necesariamente todos los archivos DLL (especialmente los copiados de proyectos dependientes).

Sin embargo, la reconstrucción del proyecto de dependencia hizo que esta alerta desapareciera.

Me enfrenté a esto con Visual Studio 2015 Update 3.

Abu Abdullah
fuente
0

Mi solución fue un poco diferente a todas las demás y es un poco única.

Estoy trabajando con un sitio web que contiene una combinación de código administrado y ASP Classic , ambos haciendo referencia al mismo ensamblado. Visual Studio se quejaba de que mi archivo DLL administrado era una versión de lanzamiento.

El problema fue una excepción no detectada en mi ensamblado, pero fue lanzada por una página ASP Classic a través de la interoperabilidad. Visual Studio no pudo manejar la depuración y mostró el mensaje de error. La misma excepción lanzada desde el código administrado habría activado el depurador como se esperaba.

La corrección del problema en el constructor de mi ensamblado administrado solucionó todo.

Todo tiene sentido ahora que miro hacia atrás en el panorama general, pero en ese momento, el mensaje de error me llevó por un camino muy profundo, y probé todo en la respuesta aquí hasta que tuve ese "¡Ah-ha!" momento.

Mate
fuente
0

Pasé dos días y parece que Reset the Visual Studio 2017 Experimental Instance me ayudó.

Denis535
fuente
¿Dónde se encuentra esa opción (responda editando su respuesta , no aquí en los comentarios)?
Peter Mortensen