Pregunta

Incluso si creo un proyecto WinForms limpio, Editar y continuar no funciona y me da el error:

  

No se permiten cambios cuando el depurador se ha adjuntado a un proceso que ya se está ejecutando o el código que se está depurando se optimizó en el momento de la compilación o ejecución.

    La opción
  1. Editar y continuar está marcada en Herramientas ? Opciones ? Depuración.
  2. La optimización no está habilitada.
  3. Parece que no hay ningún perfilador administrado configurado.
  4. Estoy corriendo en modo de depuración
  5. Estoy ejecutando una CPU x64 y Windows XP de 32 bits, pero configurar el objetivo de la plataforma en x86 en lugar de AnyCpu no ayuda.
  6. Reparar la instalación de Visual Studio no ayuda.

También encontré este artículo en MSDN sitio web:

  

Escenarios no admitidos

     

Editar y continuar no está disponible en los siguientes escenarios de depuración:

     
      
  • Depuración en Windows 98.

  •   
  • Depuración en modo mixto (nativo / administrado).

  •   
  • Depuración de SQL.

  •   
  • Depuración de un volcado de Dr. Watson.

  •   
  • Edición de código después de una excepción no controlada, cuando el " Desenrollar la pila de llamadas en excepciones no controladas " La opción no está seleccionada.

  •   
  • Depuración de una aplicación de tiempo de ejecución integrada.

  •   
  • Depuración de una aplicación con Adjuntar en lugar de ejecutar la aplicación con Inicio desde el menú Depurar.

  •   
  • Depuración de código optimizado.

  •   
  • Depuración de código administrado cuando el destino es una aplicación de 64 bits. Si desea usar Editar y Continuar, debe establecer el objetivo en x86. (Propiedades del proyecto, pestaña Compilar, configuración del compilador avanzado).

  •   
  • Depuración de una versión anterior de su código después de que una nueva versión no se pudo generar debido a errores de compilación.

  •   

Pero puedo responder "No" a cada elemento de esta lista.

Funcionó antes, pero hace varios días dejó de funcionar, y no sé cuál podría ser la razón.

¿Fue útil?

Solución

Finalmente pude resolver el problema: DESINSTALAR Gallio

Gallio parece tener bastantes bordes ásperos y es mejor no usar MbUnit 3.0 pero usar el marco MbUnit 2.0 pero usar el gallio runner, que está ejecutando sin instalar desde el instalador (que también instaló un complemento de estudio visual) .

Por cierto, tuve el problema incluso después de "deshabilitar" El plugin Gallio. Solo la desinstalación resolvió el problema.

PS. Editado por nightcoder:
¡En mi caso, deshabilitar TypeMock Isolator (marco de imitación) finalmente ayudó ! Editar & amp; Continuar ahora funciona !!!

Aquí está la respuesta del soporte de TypeMock:

  

Después de profundizar en la edición   y continuar problema, y ??conversando   al respecto con Microsoft, llegamos   la conclusión no se puede resolver   para aislador. Aislador implementa un   CLR profiler, y de acuerdo con nuestro   investigación, una vez que un perfilador CLR es   habilitado y adjunto, editar y   continuar se deshabilita automáticamente.   Lamento decir que esto ya no es   considerado un error, sino más bien un   limitación del aislador.

Otros consejos

Soluciones aplicables

Aquí hay una lista incompleta, desordenada de posibles soluciones para probar si * desea arreglar Editar & amp; Continuar rápidamente:

  • Asegúrese de estar en Modo de depuración
  • Asegúrese de que no está iniciando un proceso de modo mixto
  • Intente establecer el objetivo de CPU en x86 en lugar de AnyCPU (en máquinas x64)
  • Desmarque la casilla de verificación Optimizar código para Modo de depuración en Propiedades del proyecto- > Debug
  • Desmarque Habilitar optimizaciones en Configuración avanzada del compilador
  • (ASP.NET) Marque respuesta del codificador nocturno si es el caso
  • (ASP.NET) Verificar esta respuesta (por matrixugly) si es el caso
  • (ASP.NET) Asegúrese de tener Editar y continuar habilitado en la pestaña Web (vs2010)
  • (ASP.NET) Vaya a Propiedades > Web > Servidores , y asegúrese de que Habilitar y continuar esté marcado en Usar Visual Studio Development Server .
  • (ASP.NET WebAPI) Asegúrese de haberse detenido en el método del Controlador utilizando un punto de interrupción, antes de intentar editarlo.
  • Ir a Herramientas > Opciones > Depuración > General y asegúrese de que Requerir que los archivos de origen coincidan exactamente con la versión original no está marcada.
  • ¿Estás usando Microsoft Fakes? Inhibe Editar & amp; Continuar.
  • Elimine todas las instancias * .vshost.exe seleccionando Finalizar árbol de procesos en el Administrador de tareas . VS regenerará una instancia correcta.
  • Eliminar todos los puntos de interrupción con Depuración- > Eliminar todos los puntos de interrupción
  • Habilitar y continuar existe en las Herramientas > Opciones > Depuración y también en la Configuración del proyecto . Asegúrese de revisar ambos lugares. editar & amp; Continuar no es compatible con la configuración de Intellitrace extendida.
  • Asegúrese de Información de depuración en Propiedades del proyecto > Construir > Avanzado > Salida > La información de depuración está configurada en Full
  • Algunos complementos pueden estar interfiriendo. Verifique deshabilitando / desinstalando y luego intente nuevamente las otras soluciones.
  • Si no está prestando suficiente atención, el error que obtiene al intentar solucionar esto puede cambiar a otra cosa que sea más fácil de diagnosticar. P.ej. Un método que contiene una expresión lambda no puede soportar editar y continuar.
  • Asegúrese de que la variable del sistema COR_ENABLE_PROFILING no esté establecida en 1 . Algunos perfiladores configuran esto al instalar y lo dejan así después de la desinstalación. Abra un símbolo del sistema y escriba set para verificar rápidamente si su sistema está afectado, de ser así, elimine la variable o configúrelo en 0 :

    • En Windows 8 y superior, busque Sistema (Panel de control).
    • Haga clic en el enlace Configuración avanzada del sistema .
    • Haga clic en Variables de entorno .
    • Eliminar COR_ENABLE_PROFILING
  • Tenga en cuenta escenarios no admitidos (como se informa en la pregunta) y que ediciones no admitidas .

* por 'usted', me refiero al visitante de la página que está golpeando su cabeza con un teclado para encontrar la solución.

¡Siéntase libre de editar esta respuesta si tiene otros consejos!

Si está depurando una aplicación ASP.NET, vaya a propiedades > web > Servidores, y asegúrese de que "activar y continuar" está marcado en Usar Visual Studio Development Server.

Tuve el mismo problema. Incluso reinstalé VS 2008 pero el problema no desapareció. Sin embargo, cuando eliminé todos los puntos de interrupción, comenzó a funcionar.

Debug->Delete All Breakpoints

Creo que estaba sucediendo porque había eliminado una página aspx que tenía puntos de ruptura en su código, y luego creé otra página con el mismo nombre. Esto probablemente confundió al VS 2008.

Un par de cosas para comprobar

  • Asegúrese de que su compilación esté configurada en Debug vs. Release
  • Asegúrese de que no está iniciando un proceso de modo mixto
  • Si está en una máquina de 64 bits Asegúrese de establecer el objetivo de la CPU en x86 en lugar de AnyCPU

EDITAR

No creo que esto deba importar, pero asegúrese de que el proceso de alojamiento esté habilitado para la plataforma de destino. Probablemente no ayude.

Si repros para nuevos proyectos, entonces podría ser algo aún más sutil. Yo intentaría lo siguiente.

  • Copia de seguridad HKCU: \ Software \ Wow6432Node \ VisualStudio \ 9.0 (tal vez solo cámbiele el nombre)
  • Eliminar la misma clave
  • Intente la repro nuevamente

Si le preocupa una aplicación ASP.NET, asegúrese de tener la edición y continuar habilitado en la pestaña web (vs2010). También había una configuración separada para la depuración de ASP.NET en versiones anteriores.

Saludos,

Adam.

Ninguna de las soluciones anteriores funcionó para mí (ejecutándose en una máquina 64x).

Finalmente hice clic en 'configuración avanzada del compilador' y UNCHECKED 'habilitar optimizaciones ' y ahora puedo pasar por el código y editar mientras se depura .

Descubrí que, aunque en las propiedades del proyecto, build & amp; la pestaña de depuración está configurada en Depurar y todas las demás configuraciones son correctas. Todavía recibo el mensaje, sin embargo, después de cavar un poco más En el menú Generar, seleccione Configurations Manager ... y asegúrese de que Debug esté seleccionado en dos lugares también. imagínense ... ¿cuántos lugares diferentes necesitan para configurar la depuración ?????? aunque establezca Project - Configuration en Debug, luego en Build - Manager no se modifica, por lo que también ha cambiado la misma configuración allí Configuración del proyecto - parece un problema de Microsoft nuevamente .......

Este problema se debe a la configuración de Intellitrace

Si Intellitrace está habilitado, asegúrese de que el evento Intellitrace solo esté marcado

De lo contrario, esto no permitirá editar y continuar.

Si hace clic en las opciones de Intellitrace, verá las advertencias.

El siguiente disparo me ayudó a usar VS2010:

vaya a Herramientas, Opciones, Depuración, General y asegúrese de que "Solicitar archivos de origen coincidan exactamente con la versión original" está desmarcado.

" Editar y continuar " ;, cuando está habilitado, solo le permitirá editar código cuando esté en modo de interrupción: p. haciendo pausar la ejecución por una excepción o tocando un punto de interrupción.

¡Esto implica que no puede editar el código cuando la ejecución no está en pausa! Cuando se trata de depurar proyectos web (ASP.NET), esto es muy poco intuitivo, ya que a menudo querría hacer cambios entre las solicitudes. En este momento, el código de su (probablemente) depuración no se está ejecutando, ¡pero tampoco está en pausa!
Para resolver esto, puede hacer clic en "Romper todo" (o presione Ctrl + Alt + Break ). Alternativamente, establezca un punto de interrupción en algún lugar (por ejemplo, en su evento Page_Load ), luego vuelva a cargar la página para que la ejecución se detenga cuando llegue al punto de interrupción, y ahora puede editar el código. Incluso el código en los archivos .cs .

Para mí, por una razón que no entiendo, la configuración "Generar información de depuración" en la "Configuración avanzada del compilador" se estableció en "solo pdb" en lugar de " Completo " ;.

De manera predeterminada, este parámetro siempre se establece en " Completo " pero un misterioso poltergeist ha cambiado este parámetro anoche. :)

P.S. Estoy en Visual Basic .Net con Visual Studio 2010

Tuve este problema en Microsoft Visual Studio 2008 y la solución es fácil. cuando ejecute su proyecto, configure "Depuración" modo no " Liberar " ;. La solución de otra persona puede ser útil.

Eso sucede cuando el depurador no ha alcanzado un punto de interrupción o usted no ha alcanzado Romper todo (pausa). No podría ser tan simple, ¿verdad?

El error dice que una posible causa es: "el código que se está depurando se optimizó en el momento de la compilación o ejecución". Vaya a Propiedades del proyecto- > Depurar y desactive la casilla Optimizar código para el modo de depuración.

Si creo un nuevo proyecto, las ediciones durante la depuración no funcionan. Si creo un nuevo sitio web, las modificaciones durante la depuración funcionan como se esperaba.

Algunas cosas que parecían ayudar con el uso de VS2010:

  • vaya a Herramientas, Opciones, Depuración, General y asegúrese de "Requerir que los archivos de origen coincidan exactamente con la versión original" está desmarcado.
  • múltiples instancias .vshost.exe se pueden dejar de, p. desconectando el depurador VS de un proceso detenido. Esto interferirá con los puntos de interrupción y las compilaciones también. Use el Administrador de tareas, pestaña Procesos para eliminar todas las instancias de .vshost.exe haciendo clic derecho en cada instancia y seleccionando Finalizar árbol de procesos. VS creará una nueva instancia.

Eliminé un conjunto de datos de mi proyecto porque no lo usé. Después de eso, podría modificar el programa al depurar.

Hice todos los cambios mencionados en cualquier otra respuesta y ninguno funcionó. ¿Que aprendi? Habilitar y continuar existe tanto en Herramientas > Opciones > Menú de depuración y también en la configuración del proyecto. Después de marcar ambos, Habilitar y Continuar funcionó para mí.

Me encontré con esto hoy, resulta que tener la información de depuración configurada en pdb-only (o ninguna, me imagino) evitará que Editar y continuar funcione.

Asegúrese de que su información de depuración esté configurada en " completa " primero!

Propiedades del proyecto > Construir > Avanzado > Salida > Información de depuración

lo que funcionó para mí fue desmarcar " Usar modo de compatibilidad administrada " bajo

  

Herramientas - > Opciones - > Depuración

TBN: marcando o desmarcando " Requerir que el archivo fuente coincida exactamente con la versión original " parece que no influye en la E & amp; C

Espero que esto pueda ayudar.

Habilite la edición y continúe solo el trabajo ejecute IIS Express. No trabaje en ISS local o host externo.

En mi caso, simplemente restableciendo la configuración predeterminada del depurador y configurando IntelliTrace- > solo los eventos intellitrace ayudan

incrustar tipos de interoperabilidad Visual Studio debe establecerse en falso

Sucedí esto en un archivo de clase vinculado. El resto del proyecto permitió E & amp; C, pero obtuve el mismo error al editar el archivo vinculado. La solución fue dividir el archivo vinculado en su propio proyecto y hacer referencia al proyecto.

Me enfrenté al mismo problema. Mi problema era que podía modificar un archivo, pero no otro (ambos están en el mismo proyecto). Más tarde descubrí que el archivo que no pude modificar también era parte de otro proyecto. Ese otro proyecto (Prueba de unidad) no se cargó, y el depurador VS inteligente muestra el error de que el ensamblaje para este archivo dado no se cargó y no se permiten cambios. ¡Qué raro!

Por lo tanto, tuve que descargar el proyecto de prueba unitaria y continuar la depuración de EnC.

Tenía un proyecto de base de datos en la solución que detuvo la edición del proyecto de formularios web.

Hice clic en "Descargar" en el proyecto de base de datos y ahora todo funciona muy bien.

Para VS2017, puede ayudar a eliminar el archivo .suo en su solución, funcionó para mí. :)

Estaba enfrentando el mismo problema en Visual Studio 2005. Mi configuración es de 64 bits. Funcionaba bien en una de las soluciones VS pero no en la otra. Me di cuenta de que solo habilité " Habilitar edición y continuar " para el proyecto donde quería hacer cambios en el modo de depuración. Esto finalmente se resolvió cuando seleccioné "Activar y continuar" para mi proyecto de inicio también.

No hubo cambios de configuración, excepto habilitar y continuar.

Parece ilógico, pero la única forma era deshabilitar la edición y continuar desde las opciones de VS 2017 ... Luego, AspNet edit and continue comenzó a funcionar ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top