una titulo página poner permanentes imagen google enlaces description descripción cómo configurar como codigo cambiar atributos atributo agregar .net visual-studio debugging

.net - titulo - como poner atributo alt a una imagen



“El punto de ruptura no será alcanzado actualmente. El código fuente es diferente de la versión original ". ¿Qué significa esto? (30)

Al depurar en Visual Studio, a veces agrego un punto de interrupción pero está vacío y VS dice "El punto de interrupción no será afectado actualmente. El código fuente es diferente de la versión original". Obviamente esto me impide poder depurar.

¿Qué diablos significa el mensaje? ¿Qué versión original? Si acabo de abrir la solución y no he realizado ningún cambio en el código, ¿cómo puede haber una ''versión original''?


¿Alguna vez hiciste esto?

¿Te gustaría continuar y ejecutar la última compilación exitosa?

Si marcó la casilla y presionó "Sí", se ejecutará la última compilación exitosa aunque su proyecto no se compile. Esto significa que siempre que establezca un punto de interrupción, obtendrá ese error.

Intenta cambiar este valor:

  • Herramientas
    • Opciones
      • Proyectos y Soluciones
        • Construir y ejecutar
          • En ejecución, cuando se producen errores de compilación o implementación: no iniciar

Cerrar Visual Studio y volver a abrir la solución puede solucionar el problema, es decir, es un error dentro del IDE (estoy ejecutando VS2010).

Si tiene más de una instancia de Visual Studio en ejecución, solo necesita cerrar la instancia que ejecuta la solución con el problema.


Como dice, el "código fuente es diferente de la versión original".

Haga clic derecho en la carpeta del proyecto dentro del explorador de soluciones y elija Clean . ¡Construye una nueva versión del proyecto y el punto de ruptura funcionará de nuevo!


Compruebe si tiene más de un archivo con ese nombre en la solución.

Tuve esto en un proyecto que me hice cargo de otra persona. La lista de puntos de interrupción estaba llena de números de línea en Controller.cs, algunos activos y otros no. Encontré esta pregunta y probé algunas opciones, pero cuando hice doble clic en los puntos de interrupción, me llevaron a diferentes proyectos dentro de la solución. Debido a que los archivos se llamaron igual, parecen ser los mismos, pero no lo son. Por supuesto, la respuesta es ignorar la advertencia, ya que se activarán si llega a cargar ese otro archivo.


El problema es que su información de depuración no está sincronizada con su ensamblaje. La solución es simple:

  1. Ve a tu carpeta bin
  2. Eliminar los archivos .pdb
  3. Reconstruir

Debería hacer el truco!

(lo extraño es que una reconstrucción sin tirar los archivos .pdb no siempre funciona. Puedo ver la fecha de modificación actualizada, pero aún en algún lugar de la cadena (depurador VS2013, IIS, caché de ensamblajes) no se detecta este cambio )


En Windows 7, Visual Studio Express 2010, si ha activado la opción Usar modo de compatibilidad para Windows XP SP3 , puede ocurrir este error.

Desactivé la opción y funcionó perfectamente de nuevo. Haga clic derecho en el acceso directo a VS o el ejecutable, seleccione las propiedades y luego la compatibilidad .


En mi caso, estaba desarrollando una aplicación para Windows CE, que probó contra un emulador. El problema fue que el ejecutable no se implementó en el emulador, por lo que .pdb (en el entorno de desarrollo) no estaba sincronizado con el .exe (en el emulador), porque el nuevo .exe nunca se copió en el emulador. Tuve que eliminar el .exe en el emulador para forzar un nuevo despliegue. Entonces funcionó.


En mi caso, me estaba conectando a un proceso en ejecución en VS 2012. Al adjuntar, se le da la opción de depurar en varios modos (nativo, script, silverlight, administrado 2.0, administrado 4.0, etc.). Por defecto, el depurador selecciona el modo automáticamente. Sin embargo, Automático no siempre hace la elección correcta. Si su proceso contiene varios tipos de código, asegúrese de que el depurador esté utilizando el correcto.


Esto puede suceder cuando la hora del sistema cambia durante la depuración o entre sesiones de depuración, ya sea programáticamente, manualmente o por un programa externo.


Esto sucede a menudo también si está utilizando un archivo de referencias a binarios (en lugar de las referencias de proyectos al código en su proyecto), y el binario compilado al que hace referencia no está sincronizado con el código fuente correspondiente en su máquina. Esto puede suceder porque descargó una nueva versión del binario desde el control de origen sin el nuevo código fuente que lo acompaña, o tiene algunas versiones del binario en su máquina y hace referencia a una copia antigua, etc. Si esto es así El problema, es una buena razón para usar las referencias del proyecto tanto como sea práctico.


Esto sucede también cuando se depura un proyecto de C ++ que carga un módulo que se ha implementado con algún lenguaje CRL (C ++ administrado, C #, etc.). En esta situación, el mensaje de error es ciertamente engañoso.

La solución es poner la propiedad de configuración de soporte de Common Language Runtime (CLR) en el proyecto de inicio y recompilarlo.


Experimenté esto en una versión de 32 bits en vs2017.

Exactamente ninguna de las soluciones funcionó para mí. Reinicié, borré los archivos IDE, limpié la solución construida, saqué de git repo y reconstruí la solución sin éxito.

Estaba extrayendo una dependencia de 64 bits de nuget y, tan pronto como usé el ensamblaje, las fuentes ya no estaban integradas en el ejecutable final y, en cambio, las fuentes almacenadas en caché IDE se estaban construyendo.

Quité la configuración de nuget, quité el ensamblaje al que se hace referencia, descargué la fuente, construí log4net manualmente, lo firmé, lo agregué a una carpeta en mi proyecto, le agregué una referencia y pude volver a depurar.

Esto fue un dolor, espero que aparezca en la lista de respuestas para que todos lo vean.

Edición: no se produjo ningún error durante la compilación a pesar de que la opción "preguntar por error de compilación" está activada en la configuración del IDE.


Ha aparecido una nueva forma de solucionar este problema desde Visual Studio 2017 15.3.1 hasta 15.3.5. Si está utilizando EditorConfig , la opción charset=utf8 causa estos síntomas. El equipo de VS ha reproducido esto y dice que están trabajando en ello .

Entonces, una solución es comentar su línea charset=utf8 en el archivo .editorconfig.

Edición: Esto debería ser arreglado a partir de VS 15.5.


Hay una configuración casi imperceptible que solucionó este problema para mí. Si hay un archivo fuente en particular en el que el punto de interrupción no está llegando, podría aparecer en la lista

  • Explorador de la solución
    • haga clic derecho en Solución
      • Propiedades
        • Propiedades comunes
          • Depurar archivos de origen
            • "No busque estos archivos de origen".

Por alguna razón desconocida para mí, VS 2013 decidió colocar un archivo de origen allí y, posteriormente, ya no pude alcanzar el punto de interrupción en ese archivo. Este puede ser el culpable de que "el código fuente es diferente de la versión original".


Intente deshabilitar y restablecer el punto de interrupción mientras se ejecuta en modo de depuración en lugar de hacerlo antes de iniciar el modo de depuración.


Ir

  • Herramientas
    • Opciones
      • Depuración
        • General

Desmarque Requerir que los archivos de origen coincidan exactamente con la versión original


Lo que funcionó para mí fue cambiar la plataforma de la solución de x86 a cualquier CPU. Después de cambiar a Cualquiera, puse una dirección de parada, ejecuté el sitio web, abrí la página, hice clic en el botón y se detuvo. Cerré el sitio, cambié de nuevo a x86 y realicé la misma secuencia con éxito.


Me encontré con esto también. Las condiciones que causaron mi problema:

  • Estoy ejecutando una instancia completa de IIS7 localmente
  • Estoy versionando mi software en proyectos separados

Esto lo provocé al abrir una versión anterior (VS me pidió que preguntara si quería señalar esta instancia en la depuración de IIS, respondí ''Sí''), luego abrí la versión actual (respondiendo nuevamente al indicador de IIS con un ''Sí'' ), luego intentar depurar en la versión anterior.

Para resolverlo, simplemente cerré y volví a abrir la versión anterior y la prevista, una vez más, confirmándola como la fuente de depuración.


Para mí fue mientras trabajaba en un proyecto WebSite. Después de limpiar estas carpetas temporales, obtuve los errores correctos del compilador:

  • C:/Documents and Settings/%username%/AppData/Local/Temp/Temporary ASP.NET Files
  • C:/windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files

Finalmente resolví el problema cuando descubrí que un archivo de clase que había movido intencionalmente a una subcarpeta, de alguna manera reapareció en la carpeta raíz. VS estaba usando ese mientras yo estaba editando el otro.


Para mí, la solución estaba oculta en la Advanced Build Settings de las propiedades del proyecto:

Por una razón desconocida, se estableció en none : establecerlo en full provocó que se alcanzaran los puntos de interrupción.

Para acceder a este cuadro de diálogo, abra las propiedades del proyecto, luego vaya a Build , luego seleccione el botón Advanced... en la parte inferior de la página.


Para mí, ninguno de los ítems resolvió el problema. Acabo de agregar una nueva línea de código dentro de esa función, algo como:

int a=0;

al agregar eso, creo que activé Visual Studio para agregar esta función a la versión original


Preste atención a la ventana "Salida" en VS. Le dirá qué ensamblajes se cargan y cuándo. Es posible que vea que se está cargando una versión anterior de su ensamblaje en algún lugar de la carpeta.

Por ejemplo, si tiene varios ensamblajes y actualmente está intentando dividir uno de los ensamblados de soporte, el CLR manejará la resolución del ensamblaje, que puede cargar un archivo de ensamblaje diferente al que usted ha mencionado en el proyecto.


Primero lo intenté desde la línea de comando;

borrar archivos temporales de la línea de comandos funcionó.

C: / Windows / Microsoft.NET / Framework64 / v4.0.30319 / Archivos temporales de ASP.NET> raíz rd / s

Cuando deshabilito la opción "Habilitar solo mi código" en Herramientas -> Opciones -> Depuración -> General

El problema se resolvió para mí. Es una aplicación de WCF, estaba tratando de depurar una página ashx. http://blogs.msdn.com/b/zainnab/archive/2010/10/25/understanding-just-my-code.aspx


Puede recibir este mensaje cuando está usando un activador y el ensamblaje en el que estableció el punto de interrupción aún no se ha cargado.

El punto de interrupción se resolverá una vez que el activador cargue el ensamblaje (suponiendo que los símbolos de ensamblaje y depuración estén actualizados). Un buen lugar para mirar es la ventana de módulos en el menú de depuración. Allí debes buscar el ensamblaje al que pertenece tu archivo. Primero compruebe que el conjunto está cargado. Entonces, ¿de dónde se carga? Entonces, es el archivo de símbolos cargado. De nuevo, ¿de dónde se carga el archivo de símbolos? Finalmente comprobar las versiones de ambos.


Seleccione Depurar en Configuraciones de soluciones , en lugar de Liberar


Si su proceso de depuración contiene varias aplicaciones y el ensamblaje está cargado en ambos, y uno de ellos está cargando una copia antigua (por lo general, algo cargado dinámicamente como un complemento), el punto de interrupción puede parecer sólido, pero el hilo que debe golpear el punto de interrupción está en el Appdomain con la vieja asamblea, y nunca golpea. Puede ver qué ensamblajes se cargan y su ruta en la ventana del módulo.


Si tiene más de un proyecto en su solución , asegúrese de que el proyecto correcto esté configurado como el StartUp Project . Para configurar un proyecto particular como el Proyecto de Inicio de su solución, haga clic derecho en el proyecto, elija Set As StartUp Project .

Después de configurar mi proyecto de inicio correctamente, el hilo alcanzó el punto de interrupción deseado.


Tuve el mismo problema en varios proyectos en un proyecto de arquitectura en capas y el problema estaba en las configuraciones, la casilla de verificación de compilación para el proyecto seleccionado no ha sido marcada. Así que el problema se solucionó para un proyecto.

Para otra capa, estaba dando este mismo problema, incluso la habilitación de compilación en las configuraciones. Hice todas las otras opciones, como reiniciar la limpieza del proyecto, pero ninguna de ellas me ayudó. Finalmente, desmarque la casilla de verificación de compilación para ese proyecto en particular y limpié y reconstruí. La otra vez marcó la casilla e hizo lo mismo. entonces el problema fue arreglado.

Espero que esto ayude..


ir:

Herramientas> Opciones> Depuración> General> sin marcar " Requerir que los archivos de origen coincidan exactamente con la versión original "


Si ha desactivado el proyecto DLL en la configuración de compilación de depuración , ¡su nuevo código nunca se construirá!

Vaya a Build --> Configuration Manager ... (en VS2010) y compruebe si el proyecto con el código que está intentando depurar está verificado para la configuración de build actual.