El Módulo siguiente se creó con optimizaciones habilitadas o sin información de depuración


139

No puedo deshacerme de esto en mi proyecto web VS 2008 al depurar. He comprobado que está en modo de depuración en el proyecto no web en cuestión y está en Activo (Depuración). Eliminé todos los elementos en mi carpeta temporal .NET 2.0 en Windows. No estoy seguro de qué más hacer aquí.

Respuestas:


187

Intente deshabilitar "Habilitar solo mi código" en Herramientas / Opciones / Depuración / Opciones.


Hice eso y funcionó. Pude usar puntos de interrupción y recorrer el código. No lo entiendo ¿Por qué funcionó? (Estaba depurando un módulo C ++ administrado al que hace referencia un servicio Win usando VS2010)
tzup

Acabo de tener este problema y su solución funcionó para mí. ¡Gracias!
Colin O'Dell

55
Funciona pero puede causar algunos efectos secundarios no deseados al depurar: blogs.devsource.com/devlife/content/net_general/…
user276648

2
En VS2010 esta casilla de verificación está en Depuración> Opciones y configuración, luego en Depuración> General
Cookie

Esto funciona debido a la reconstrucción de las opciones? Cuál es el trato. Resolví el problema, pero ¿por qué?
jeremy.bass

83

Tuve el mismo problema y descubrí que no estaba generando mi información de depuración en mi compilación. Si hace clic derecho en el proyecto y va a 'propiedades', luego seleccione la pestaña 'construir', en la parte inferior de la página hay un botón 'Avanzado ...' que mostrará su configuración para la información de depuración de salida. Establezca eso en 'completo' y el error debería desaparecer.

ingrese la descripción de la imagen aquí


1
Esta es la respuesta correcta. Debería generar información de depuración "completa" cuando desee depurar su aplicación localmente en modo de desarrollo. Debe hacer esto en lugar de la respuesta "Habilitar solo mi código", ya que esa respuesta puede tener efectos secundarios no deseados (como se indicó anteriormente).
Tod Thomson

1
@ Thom Thomson, no estoy seguro de por qué afirma que esta es la respuesta correcta, ya que veo el mensaje justo ahora mientras depuro mi aplicación web e intento ingresar a una biblioteca de clases, muy similar a la configuración descrita en la pregunta. Mi configuración de información de depuración está llena y no tengo motivos para creer que haya sido diferente.
R. Schreurs

1
@ R.Schreurs Probé todo lo demás en esta página y lo único que funcionó para mí fue esta respuesta. Si no funciona para usted, siéntase libre de probar algo más aquí / proporcione una respuesta propia.
Tod Thomson

Es un error de Microsoft. No digas "debería". A menos que esté diciendo "El error debería desaparecer, pero es Microsoft, por lo que debería repensar su vida"
user1566694

24

Me encontré con este problema y rápidamente decidí que las otras respuestas publicadas no se aplicaban a mí.

inhabilitar

Soy el propietario del proyecto y sé que se creó con información de depuración y sin optimizaciones. Además, nunca estoy contento de elegir la desactivación de una advertencia como mi primera opción. Ocultar / ignorar esta advertencia podría convertirse en un problema en una futura sesión de depuración.

Dado que esto solo comenzó a ocurrir después de firmar el ensamblado , esto me dio una idea de mi solución rápida: eliminar temporalmente el nombre seguro de mi DLL (y consumir EXE). Voila! Problema resuelto.

Una solución mejor a largo plazo podría consistir en agregar una acción posterior a la compilación para actualizar el GAC para que tenga la última versión de la DLL firmada.

Pero por ahora, estoy feliz de seguir adelante con este desvío y seguir trabajando en el problema que me llevó a esta sesión de depuración.


44
Tuve una situación similar a la tuya, pero tomé el camino fácil ... Desinstalé el programa que puso esta DLL en el GAC, porque era solo la versión anterior de lo que estaba depurando.
SeeMoreGain

2
También +1 por recomendar solucionar el origen del problema en lugar de solo habilitar una solución alternativa como todas las demás sugiriendo desmarcar "Habilitar solo mi código"
SeeMoreGain

17

resuelto. Se eliminaron todas las ocurrencias (todos los proyectos) del dll en cuestión.


1
Cerré todas las sesiones de VS / VWD donde estaban abiertos los proyectos referenciados y mi solución activa. Luego eliminé CADA instancia del problema dlls y sus pdbs complementarios. A continuación, eliminé todo lo que estaba debajo de la ubicación del sitio web de depuración temporal en la estructura del marco .NET (para este proyecto, era C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ Archivos temporales ASP.NET [myWebsite]). Esto me dio un error de "archivo en uso" en una de las versiones anteriores hasta que cerré VWD. Luego volví a abrir el proyecto y solucioné todos los errores y advertencias pendientes en el código del proyecto. Solo entonces desapareció el error.
BH

14

VS2012, limpiar y reconstruir solucionó el problema para mí. "Propiedades" -> "Compilar" -> Optimizar código no está marcado. "Propiedades" -> "Compilar" -> "Avanzado" -> Información de depuración: Completo


¿necesitamos cambiar la configuración
kbvishnu

Esto funcionó para mí al depurar un complemento de Visual Studio 2010. Anteriormente se estableció en none.
Sabuncu

No funcionó para mí, pero después de eliminar las carpetas bin y obj, la solución de limpieza y reconstrucción funcionó nuevamente :)
QMaster


7

Adivinar VS 2008 no está reconstruyendo el dll correctamente.

1) Eliminar todas las apariciones de la dll

2) Reconstruir solución

Y eso debería arreglarlo.


Eliminé el directorio bin de mi aplicación web seguido de reconstruir todo. Eso lo solucionó!
Capitán Sensible

6

Verifique sus opciones de configuración de compilación. Asegúrese de que las optimizaciones estén desactivadas y que la constante DEBUG esté definida.


Se selecciona Build y las optimizaciones definitivamente están desactivadas.

6

Si todo lo demás falla, intente renombrar el nombre del ensamblado en las propiedades del proyecto. Esto solucionó el problema para mí.


Después de pasar horas y buscar en Internet todo lo que encontré, funcionó. Algo debe ser almacenado en caché?
Chris R

6

También me sale este problema, por alguna razón ha sucedido 3 o 4 veces; Creo que debe ser un error / demostración de Visual Studio 2005 (o al menos mi instalación).

Esto ha funcionado siempre: para solucionarlo I

  1. Haga clic derecho en mi solución y haga clic en Propiedades.
  2. Abra el Administrador de configuración.
  3. Seleccione Depurar en el menú desplegable (si aún no está seleccionado).
  4. Desmarque CONSTRUIR. Luego vuelva a verificarlo.
  5. Reconstruir la solución.

4

Herramientas> opciones> Depuración> Símbolos> Especificar módulos excluidos que se ven si dll o exe en la lista de módulos excluidos


3

Al menos para aplicaciones que no son web, esto funciona:

De: http://www.stellarpc.com/articles/board.aspx?id=40

2 - Permitir depuración ...

Debido a la naturaleza en la que se ha creado uno de los ensamblados en su aplicación, deberá cambiar algunas configuraciones para permitir que el depurador de Visual Studio maneje el código.

Haga clic derecho en cualquier proyecto en cuestión desde el explorador de soluciones y seleccione 'Propiedades'. Esto abrirá el panel de propiedades del proyecto y nos dará acceso a una gran cantidad de opciones para nuestros proyectos. Navegue a la pestaña 'Completar' (o 'Construir' si está en un entorno C #) y seleccione 'Opciones de compilación avanzadas ...' en la parte inferior de la pantalla. Esto nos presenta un aviso que tiene dos áreas clave de interés:

1) Optimizaciones: desmarque 'Habilitar optimizaciones'

2) Generar información de depuración: asegúrese de que la opción esté configurada en 'Completo'


Interesante ... Tengo mis proyectos configurados de esta manera, e incluso con esta configuración, el mensaje sigue apareciendo. Así que aún no es la solución definitiva
Junior Mayhé

3

Tuve este problema con una solución en una carpeta determinada, pero si la moví a otra carpeta u otras la compilaron, no recibí el mensaje. Limpié, reconstruí e incluso reinicié y todavía no pude depurar el original sin este mensaje. Busqué en mi sistema copias del archivo que causaba el error y descubrí que las copias se guardaban en

c: \ Usuario \ nombre de usuario \ AppData \ Local \ Assembly \ dl3

Esto fue en Win7-64 pero será similar en otros sistemas operativos Windows. Eliminé todas las copias que encontré allí y ya no recibo el mensaje. No necesitaba desmarcar "Habilitar solo mi código".

Además, esto fue para una aplicación WPF, pero encontré este hilo en mi búsqueda, así que espero que esto ayude a alguien más.


3

Pude resolver este problema siguiendo estos pasos:

  1. Haga clic derecho en la Solución (no en el Proyecto) y seleccione 'Propiedades'
  2. En el panel izquierdo, seleccione 'Propiedades de configuración'
  3. En el panel derecho, seleccione 'Depurar' en la columna 'Configuración' para su proyecto

Si no ve la solución listada en el Explorador de soluciones, siga estos pasos:

  1. En la barra de menú, vaya a Herramientas -> Opciones
  2. En el panel izquierdo, seleccione 'Proyectos y soluciones' (es posible que deba marcar 'Mostrar todas las configuraciones' en el área inferior izquierda de la ventana
  3. En el panel derecho, marque 'Mostrar siempre la solución'

Espero que esto ayude.


2

Yo también tengo todo esto. Y he hecho todo esto. Parece que esto me sucede cada vez que obtengo una copia nueva de toda la solución fuera del control de la fuente. Entonces, si hemos hecho todo esto, eliminamos archivos dlls y .pdb para todas las referencias (Ensamblajes) en el proyecto web, usamos la opción de limpieza en la solución, eliminamos archivos temporales, cerramos VS y volvemos a abrir, nos aseguramos de que el modo de depuración esté seleccionado y configurado al máximo y las optimizaciones están apagadas, ¿qué más hay?!?!?!


Estoy desesperado por una solución también. Ni siquiera puede generar un archivo pdb.
xar

2

Tuve el mismo problema en mi proyecto web en Visual Studio 2010, y finalmente encontré la razón por la que recibía este mensaje. Lo que hice fue cambiar una opción de depuración existente en Visual Studio:

  • Vaya a Herramientas-> Opciones-> Depuración-> Símbolos-> Todos los módulos
  • Marque el botón de opción "a menos que esté excluido"
  • Haga clic en el enlace "Especificar módulos excluidos", luego elimine la DLL que desea depurar.

En mi caso fue mi archivo dll web ...


2

Tuve esto al intentar depurar remotamente una aplicación en una computadora que pertenece a una subred diferente. Pude depurar y recorrer el código cuando lo ejecuté a través de la red si las máquinas estaban en la misma subred. Después de cambiar la subred, aunque no pude avanzar cuando ejecuté desde la red y recibí el mensaje "El siguiente módulo se creó con optimizaciones habilitadas o sin información de depuración".

¿La solución? Fácil. Copie la solución integrada en la máquina que aloja la depuración remota y ejecútela localmente.


2

¿Me había sucedido esto en un proyecto winForms VS 2010? Al ver que la mayoría de las personas aquí tienen proyectos web, creo que tiene que ver con el acceso a la carpeta en la que se almacena el proyecto. Digo esto porque cuando se me ocurrió este problema, Google Drive estaba sincronizando la carpeta en la que mantengo mis proyectos. Parece que solo deshabilitar la sincronización no soluciona el problema.

Mi solución es similar a una de las respuestas anteriores:

  • Fui a "Propiedades del proyecto> Compilar> Opciones avanzadas de compilación"
  • Marcado "Habilitar optimización"
  • Establezca "Información de depuración general:" en "Ninguno"
  • Desmarque "Definir constante DEPURACIÓN"
  • Y presionó OK
  • Luego regresó y devolvió las opciones a su estado inicial.

Espero que esto ayude a alguien, ya que parece que esto todavía sucede.


2

Siga esto: (primero DETENGA la depuración)
1: haga clic con el botón derecho en el nombre de la solución del proyecto o proyecto -> Propiedades
2: en Configuración Propiedades, seleccione el Administrador de configuración
3: Cambie la configuración para depurar y haga clic en cerrar
4: Cambie la configuración para depurar y haga clic en Aplicar - > OK ¡
Ahora reconstruya la solución ...!


1

Para mí, marcar la casilla "Optimizar código" en las propiedades del proyecto, guardarlo, desmarcarlo y luego volver a guardarlo lo hizo por mí.

Desactivar "Habilitar solo mi código" también funcionó, pero eso fue más una solución que una solución, ya que no quería esa configuración.


1

He tenido el mismo problema, pero con diferentes causas y soluciones. La ventana era la misma que la mostrada por Gustavo (arriba) pero la ruta estaba en: "\ users \ zzz \ AppSettings ..." (donde zzz es el nombre de usuario de Windows)

Tenía un complemento de Excel: estaba probando la instalación del complemento, así que instalé una copia a través de la función de instalación VS. VS obviamente estaba tratando de depurar tanto la copia instalada como la copia que acababa de lanzar, y no podía encontrar símbolos de depuración en la copia instalada.

Ninguna de las soluciones anteriores funcionó (sin efectos secundarios),

SOLUCIÓN: desinstalar el complemento y eliminar manualmente los archivos en la Configuración de la aplicación funcionó.


0

Mencionaste que es un proyecto web ... ¿tienes

<compilation debug="true />

en tu web.config?


0

Tuve el mismo problema después de construir con una configuración de lanzamiento. Resultó que cuando volví a Debug, VS no detectó ninguna diferencia, por lo que no estaba actualizando los archivos .dll y .pdb en la carpeta bin.

Esto es lo que funcionó para mí:

  1. Ejecute iisreset (para limpiar las carpetas temporales)
  2. Guarde web.config (para obligar a VS a reconstruirse)
  3. Reconstruir en depuración
  4. Inicia el proyecto

¿Por qué no usaste el comando Reconstruir en el menú Crear? Eso obliga a todos los módulos a reconstruirse si se detectan cambios o no.
Ron

@Ron, lo siento, no recuerdo todos los detalles de hace un tiempo, creo que hubo un problema con esa versión y la reconstrucción desde el menú de compilación no borraba los archivos como se esperaba.
bubbassauro


0

Mi caso es el siguiente: servicio web referenciado lib1.dll. Más tarde eliminé la referencia ya que ya no se usaba. Sin embargo, lib1.dll permaneció en la carpeta bin. Debido a que no se hizo referencia a la biblioteca, las acciones Reconstruir y Limpiar no fueron útiles. Después de eliminar manualmente lib1.dll de la carpeta bin, me deshago de este mensaje.


0

Si está publicando en IIS y no está utilizando un servidor web incorporado, o IIS express, asegúrese de que la configuración de su perfil de publicación esté en modo de depuración. En vs 11 por defecto está en modo de lanzamiento.


0

Solo para agregar, estaba mirando este blog para encontrar la solución al mismo problema que estaba enfrentando. Lamentablemente, las soluciones mencionadas anteriormente no me ayudaron. Por fin me di cuenta, estaba instalando mis bits (junto con .pdb) a través del instalador y configurando el permiso explícitamente en la carpeta de instalación.

Debido a que VS no pudo cargar el pdb a pesar de que el navegador de archivos mostraba el archivo correcto pero estaba dando el mismo error mencionado anteriormente.

Una vez que desmarqué "Habilitar solo mi código" y eliminé la configuración de permisos del instalador, VS comenzó a cargar el módulo.


0

La única configuración que funcionó para mí fue la siguiente

Proyecto -> (Su proyecto) Propiedades -> Pestaña Depurar asegúrese de que la Configuración esté configurada como Activa (Depurar) En "No se pueden depurar", asegúrese de que "Habilitar depuración de código no administrado" esté marcado


0

Estoy creando un servicio de Windows y esto es lo que funcionó para mí:

  • Desinstalar el servicio.
  • Abra un símbolo del sistema y vaya a c: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319
  • installutil C: \ MyFantabulusWindowService \ bin \ Debug \ MyFantabulusWindowService.exe

¡Se ha logrado la grandeza!


0

Caso: prueba de ensamblaje con proyecto de consola en el desarrollo de SharePoint: si está realizando el desarrollo de SharePoint y ve esta alerta en VS, asegúrese de implementar su ensamblaje de SP en el GAC antes de probar su aplicación de consola SI su proyecto de SP central tiene métodos que necesita llama a la aplicación de prueba de tu consola.

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.