VS 2015 Update 1: alegando que estoy depurando una versión de lanzamiento


97

Después de actualizar a la actualización 1 de VS 2015, si ejecuto un proyecto web (MVC), detengo la aplicación, luego intento ejecutarla nuevamente, VS se detiene y aparece un cuadro de diálogo que dice

Está depurando una versión de versión <myproject.dll>.

El uso de Just My Code con versiones de lanzamiento que utilizan optimizaciones del compilador da como resultado una experiencia de depuración degradada (por ejemplo, no se alcanzarán los puntos de interrupción).

El problema es que no estoy ejecutando una versión de lanzamiento. ¡Claramente estoy ejecutando la (misma) compilación de depuración que acabo de ejecutar! ¿Por qué VS cree que estoy ejecutando una versión de lanzamiento?

Limpiar la solución y volver a ejecutarla borra el mensaje de error, por lo que algo está manchado en alguna parte.


1
Me encantaría saber si lo has solucionado. Me estoy encontrando exactamente con el mismo problema después de instalar la Actualización 1. La limpieza / ejecución de nuevo me ayuda temporalmente, pero luego vuelve a suceder la próxima vez.
Jerad Rose

1
Desafortunadamente, no lo he hecho. Estoy en comunicación con el soporte de Microsoft que está investigando el problema.
John T

2
Por lo que vale, el soporte de Microsoft ha reproducido el problema y está investigando. Tan pronto como escuche, informaré / responderé.
John T

@JohnT ¿Tuviste suerte todavía?
Nick

@Nick En realidad, no. Volveré a hacer ping a mi contacto para ver si hay alguna actualización.
John T

Respuestas:


58

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. Es conocido y se está trabajando en ello. Al menos, desactivar "Activar solo mi código" en las Opciones generales de depuración parece ser una solución alternativa por ahora.


13
Todavía obteniendo esto en VS2017, pero solo para una DLL. ¿Cualquier actualización?
JMK

1
¿Existe alguna URL como UserVoice que rastree este problema?
UuDdLrLrSs

Usando el mismo trabajo para VS 2017. Es extraño que aún no se haya solucionado correctamente. De todos modos, gracias por el trabajo.
Naveen Kumar V

5
Todavía obteniendo esto en VS2019.
philu

46

Como lo mencionó @romanoza, Microsoft actualizó el informe de errores de Microsoft Connect (que ahora falta) (anteriormente ubicado aquí , en caso de que pueda encontrar un archivo en alguna parte) 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.

Actualización : según los comentarios, parece que la casilla ahora no está marcada de forma predeterminada para algunos desarrolladores, y que marcarla puede solucionar exactamente el mismo problema en algunos casos. Muy extraño.


39
En mi situación, tuve que hacer exactamente lo contrario. Tuve que marcar la casilla de verificación para la configuración mencionada anteriormente. Todo esto es muy extraño.
dyslexicanaboko

2
Igual que la dislexicanaboko: tenía que marcar la casilla de verificación para eliminar el mensaje.
Jay Cummins

5
El mismo problema en la versión de abril de Visual Studio 2017, tenía que marcar la casilla de verificación
Rafael

1
Estoy votando a favor no porque la respuesta haya funcionado, ¡sino porque el primer comentario sobre la respuesta es lo que funcionó! Y eso merece protagonismo. (Tenga en cuenta también que el enlace externo está inactivo. Lo lleva a una página "Microsoft Connect se ha retirado".)
Desilusionado

Gracias por el comentario Craig. Hice una pequeña edición basada en sus comentarios. ¡Con suerte, eso ayudará a otros a seguir adelante!
Nate Cook

25

Noté que las respuestas aquí están incompletas, estaba teniendo el mismo problema y se resolvió abriendo las propiedades del proyecto y en la pestaña de compilación y la configuración de depuración desmarcando "optimizar código" . También debe verificar el administrador de configuración como se mencionó anteriormente para asegurarse de que también sea correcto. La respuesta vino de esta publicación y deberían obtener el crédito: VS2015 Project ya no se ejecuta en modo de depuración

Gracias,


2
Después de tanto esfuerzo, descubrí que esta era la causa principal. Extrañamente activar el código de Optimize Visual Studio cree que su modo de lanzamiento e incluso los puntos de interrupción no funcionan. Todo lo relacionado con la depuración se desmorona.
Morse

1
Me salvaste la vida. Tu eres un dios
SamyCode

12

Resolví el problema configurando la configuración en Depurar en la ventana Administrador de configuración como se sugiere en esta respuesta .

ingrese la descripción de la imagen aquí


Sin embargo, ese no es el valor predeterminado (¡alguien tuvo que estropear seriamente sus configuraciones para que eso suceda!), Y la mayoría de nosotros ya lo hemos verificado. (Fue lo primero que verifiqué de todos modos). - Como ha dicho el OP, definitivamente está compilando en modo de depuración, y sé que también estoy haciendo una compilación de depuración real: construido en modo de depuración, con optimizaciones deshabilitadas, depuración declarado, se genera un pdb válido, etc.
BrainSlugs83

1
Qué bueno que pusiste eso aquí Fabricio, apuesto a que hay un montón de gente que también se lo ha perdido.
Molibar

11

Limpiar (y reconstruir) la solución funciona para mí como una solución temporal. También puede seleccionar Depurar> Opciones y desmarcar la Suppress JIT optimizationcasilla de verificación.


VS 2017 ver 15.1 me dio el error falso ("depurar una versión de lanzamiento"). Clean and Rebuild hizo que desapareciera.
DeveloperDan

Visual Studio 2015 Update 3, recibí este error cuando la opción Suprimir JIT no estaba marcada. Seleccionarlo resolvió el problema.
Saravanan Sachi

6

He tenido el mismo problema desde que actualicé a VS2015 Update 1.

Encontré un informe similar en los foros de Visual Studio de Microsoft que apunta a un informe de error que se les ha presentado aquí.

Hay varias soluciones, pero creo que el problema subyacente es que IIS Express no se cierra cuando finaliza la depuración, y no se debe a que la opción editar y continuar no esté marcada. La solución más rápida que puedo encontrar hasta que se solucione el error:

  • Haga clic con el botón derecho en el icono de IIS Express en la bandeja y salga de él después de la depuración (crédito a David Totzke, quien proporcionó una solución en el informe de error)

No es genial, pero no creo que haya una solución adecuada disponible en este momento.


2
La solución alternativa actual que estoy usando es la solución de limpieza, seguida de Iniciar depuración.
Jerad Rose

1
Por cierto, a veces tengo que matar a iisexpress; salir del menú contextual no lo hace morir
Mark Sowul

3

Encontré el mismo problema. Resolví el problema eliminando manualmente todos los archivos de la carpeta 'bin' y luego reconstruí la solución. Ya no recibo este diálogo.


2
Ya lo intenté, no ayudó. Consiga el mismo problema en un proyecto nuevo.
John T

Estaba a punto de publicar esta respuesta también :) Esto funcionó para mí (VS2015 Update 3).
Caio Campos

3

En mi caso, había cambiado la "plataforma de solución activa" para toda la solución en "Configuration Manager" de x86 a cualquier CPU, solucionó el problema


También funcionó para mí.
Rahatur

1

Verifique las Propiedades de configuración de su solución. Me encontré con el mismo problema y descubrí que mi configuración de depuración en realidad estaba construyendo algunos proyectos con una configuración de lanzamiento.


4
Lo siento, no, como digo, no hay nada configurado para Liberar, todas las configuraciones son Depurar. Ejecutar después de una limpieza NO muestra el error. Detener y volver a ejecutar inmediatamente muestra el error: NADA ha cambiado en el medio, incluido el proyecto NI NUNCA RECONSTRUYENDO.
John T

1

Noté que Visual Studio no estaba matando el proceso iisexpress después de que detuve el depurador. Matar manualmente el proceso pareció arreglarlo para mí.

Esto parece haberse solucionado ahora en la Actualización 2.


1

Parece que hay tantas soluciones como personas que tienen el problema, pero en mi caso tuve que eliminar y volver a agregar una referencia de proyecto. La referencia del proyecto estaba en un proyecto de prueba unitaria en la misma solución.


1

En mi caso, el mensaje de error era correcto. Estaba ejecutando una aplicación que cargó la versión publicada. Así que lo corrigí haciendo que la aplicación cargara la versión de depuración.

Elemental, lo sé, y me doy cuenta de que me hago parecer un idiota. Pero a veces el problema es exactamente lo que se informa.


0

Verifique que la URL del proyecto IIS realmente apunte donde cree que lo hace. En caso de duda, haga clic en el botón 'Crear directorio virtual'.

Recientemente tuve este problema en el que había estado ejecutando una versión temporal de un código base de producción y había vuelto a asignar la carpeta en IIS a la versión temporal, que, de hecho, estaba ejecutando una compilación de producción, no la versión de depuración que estaba tratando de depurar.


0

Para mí, encontré 3 \ Release \ referencias de carpeta en este archivo FileListAbsolute.txt:

C: \ Proyectos \ MyWebApp.Web \ obj \ Release \ MyChildWebApp.Web.csproj.FileListAbsolute.txt

Eran así:

C: \ Proyectos \ MyWebApp.Web \ obj \ Release \ MyChildWebApp.Web.csprojResolveAssemblyReference.cache

C: \ Proyectos \ MyWebApp.Web \ obj \ Release \ MyChildWebApp.Web.dll

C: \ Proyectos \ MyWebApp.Web \ obj \ Release \ MyChildWebApp.Web.pdb

Y simplemente eliminar esas 3 líneas fuera de VS y luego volver a abrir la solución resolvió el problema. Espero que ayude.


0

Probé todas las respuestas, y la que me funcionó es eliminar algún paquete NuGet, no solo la referencia, sino eliminar el paquete, en mi caso PostSharp. Al principio intenté eliminar la referencia de todos los proyectos y no funciona, luego simplemente eliminé los paquetes del administrador. No sé cuál es exactamente la razón, pero eso es lo que resolvió mis problemas, espero que pueda ayudar a alguien.


0

Reinicie Visual Studio. Esto solucionó el problema para mí en 2017 Professional.


0

Esto es lo que funcionó para mí.

Si es un proyecto web, vaya a las propiedades del proyecto del proyecto web y

  1. Si se selecciona IIS local, reinicie su servidor IIS.
  2. Si se selecciona IIS Express, salga de IIS Express desde el icono de la bandeja de tareas.

Parece que algunos dll se almacenan en caché, por lo que los pasos anteriores invalidarán el caché.


0

Esto sucedió en Visual Studio 2019 en una aplicación para UWP. Desmarcando Optimizar Código en la configuración de csproj / build lo resolvió.


-1

Estoy bastante seguro de que esto se ha solucionado en Visual Studio 2015 Update 2.

Solía ​​ver esto todo el tiempo (varias veces al día) y no lo he visto una vez desde que actualicé a la Actualización 2.


4
Definitivamente no lo ha hecho. Lo recibo de repente en VS 2015 Update 3.
jpmc26

1
No dije que no lo volvieran a romper en la Actualización 3.;)
Jerad Rose

Tengo la actualización 2 en un dev. box ahora mismo, y todavía lo estoy viendo. - No lo veo en mis cuadros de actualización 3. : - /
BrainSlugs83
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.