Esto me está volviendo loco.
Tengo un proyecto bastante grande que estoy intentando modificar. Me di cuenta anteriormente de que cuando escribí DbCommand
, Visual Studio no resaltó la sintaxis y estoy usando using System.Data.Common
.
Aunque no se destacó nada, el proyecto parecía estar funcionando bien en mi navegador. Así que decidí ejecutar el depurador para ver si las cosas realmente funcionaban como deberían.
Cada vez que se llama a la clase que no destacó, recibo el "the source file is different from when the module was built"
mensaje.
Limpié la solución y la reconstruí varias veces, eliminé los archivos tmp, seguí todas las instrucciones aquí. Obteniendo "El archivo fuente es diferente de cuando se construyó el módulo". , reinició el servidor web y aún me dice que los archivos de origen son diferentes cuando claramente no lo son.
No puedo probar ninguno de los códigos que he escrito hoy debido a esto.
- ¿Cómo puede la fuente ser diferente del binario cuando acabo de cumplirlo?
- ¿Hay alguna forma de introducir algo de sentido en Visual Studio, o simplemente me estoy perdiendo algo?
fuente
Respuestas:
Obtuve este problema al ejecutar una aplicación de consola donde la fuente que era diferente era la fuente que tenía el punto de entrada (static void Main). Eliminar los directorios bin y obj y hacer una reconstrucción completa parecía corregir esto, pero cada vez que hacía un cambio de código, volvía a quedar desactualizado.
La razón que encontré para esto fue:
(Para el n. ° 2 -> accesible a través de la barra de herramientas en la lista desplegable 'Depurar / Liberar').
fuente
solution platforms
deAny CPU
aMixed Platform
por error !!! Lo cambio de nuevo aAny CPU
y funciona de nuevo.Solo estaba teniendo el mismo problema, mis proyectos estaban todos en la misma solución, por lo que usaban referencias de Proyecto a Proyecto, por lo que a medida que uno cambiaba, los otros deberían haberse actualizado. Sin embargo, no fue el caso, traté de construir, reconstruir, cerrar VS2010, saqué una nueva copia de nuestro control de código fuente. Nada de esto funcionó, lo que finalmente terminé intentando fue hacer clic derecho en el proyecto y reconstruir cada proyecto individualmente. Eso actualizó los archivos .dlls y .pdb para que pudiera depurar.
El problema aquí es que su dll y / o sus archivos pdb no están sincronizados.
fuente
Sigue estos pasos
fuente
Además de estas respuestas, tuve el mismo problema al reemplazar nuevas DLL por antiguas debido a la ruta incorrecta. Si sigue recibiendo este error, no puede consultar la ruta incorrecta para las DLL. Vaya al administrador de IIS y haga clic en el sitio web que utiliza sus archivos DLL. En la ventana derecha, haga clic en Configuración avanzada y vaya a la ruta de la carpeta Ruta física en el Explorador de archivos y asegúrese de que está usando esta carpeta para reemplazar sus archivos DLL.
fuente
Algunas cosas que debe verificar:
¿Ha verificado las referencias de su proyecto?
¿Tiene un servidor web iniciado con Visual Studio que aún se está ejecutando? Verifique la bandeja del sistema y busque una página con un ícono de engranaje (puede tener más de uno):
(fuente: msdn.com )
Haga clic derecho y ciérrelo / salga. Puede tener más de uno. ¿Puedes depurar tus cambios ahora?
¿Está ejecutando la versión de depuración pero solo ha creado la versión de lanzamiento (o viceversa)?¿La compilación realmente tuvo éxito? Sé que hice clic en "Hubo errores, ¿quieres continuar de todos modos?" mensaje un par de veces sin darme cuenta.fuente
Con los servicios web, el problema puede deberse al uso del comando "Ver en el navegador" de Visual Studio. Esto coloca los archivos DLL y PDB del servicio en las carpetas bin y obj. Al ingresar al servicio web desde un cliente, de alguna manera Visual Studio usa la PDB en la carpeta bin (u obj), pero usa la DLL en la carpeta de compilación de salida del proyecto. Hay un par de soluciones alternativas:
Si anteriormente obtuvo el error de falta de coincidencia del archivo de origen, es posible que Visual Studio haya agregado el nombre del archivo a una lista negra. Verifique las propiedades de su solución. Elija "Propiedades comunes -> Depurar archivos de origen" en el lado izquierdo del cuadro de diálogo. Si los archivos de origen de su servicio web aparecen en el campo "No busque estos archivos de origen", elimínelos.
fuente
Acabo de tener este problema.
Intenté todo lo anterior, pero solo esto funcionó:
construya la solución.
Esto solucionó el problema de todas las compilaciones en el futuro.
fuente
Así es como solucioné el problema en Visual Studio 2010:
1) Cambie la opción 'Configuraciones de soluciones' de "Depurar" a "Liberar"
2) Comience a depurar
3) Detenga la depuración y cambie la opción 'Configuraciones de soluciones' a "Depurar"
Esto funcionó para mí. El paso 3 es opcional: estaba funcionando bien cuando lo cambié a "Liberar", pero quería volver a cambiarlo.
fuente
Mi solución:
Había incluido un proyecto existente de una solución diferente en un nuevo archivo de solución.
No me di cuenta de que cuando se reconstruyó el proyecto existente, estaba colocando la salida final en el directorio de salida de la NUEVA solución. Tenía una ruta de enlace definida para buscar en el directorio de salida de la solución VIEJA.
Cambiar mi proyecto para buscar en el directorio de salida de la nueva solución solucionó este problema.
fuente
Tuve este problema y resultó que estaba ejecutando mi aplicación de consola como una aplicación de Windows. Cambiar el tipo de salida a la consola solucionó el problema.
fuente
Yo tuve el mismo problema. Para solucionarlo, utilicé el "Modo de lanzamiento" para depurar en VS2013. Lo cual es suficiente para mí, porque estoy trabajando en un complemento de nodo js \ c ++.
fuente
Descargue el proyecto que tiene el archivo que está causando el error.
Vuelve a cargar el proyecto.
Fijo
fuente
En Visual Studio 2017, eliminar la carpeta .vs oculta en el resolvió este problema para mí.
fuente
Mi problema era que tenía dos proyectos en mi solución. El segundo fue un proyecto de prueba utilizado para llamar al primero. Había elegido la ruta a las referencias de la carpeta de lanzamiento de la carpeta bin.
Entonces, cada vez que hice un cambio en el código del primer proyecto y lo reconstruí, actualizaría los dlls en la carpeta de depuración, pero el proyecto de llamada apuntaba a la carpeta de lanzamiento, lo que me dio el error, "el archivo fuente es diferente de cuando el módulo fue construido ".
Una vez que eliminé la referencia al dll del proyecto principal en la carpeta de lanzamiento y lo configuré en el dll en la carpeta de depuración, el problema desapareció.
fuente
solución: - el problema es: - si tiene algunos proyectos en una solución, consulte otros proyectos, entonces a veces el dll de algunos proyectos, no se actualizará automáticamente, siempre que construya la solución, algunos proyectos tendrán dlls de compilación anteriores, no últimas dlls
tienes que ir manualmente y copiar el dll del último proyecto de compilación en el proyecto referenciado
fuente
Estaba usando Visual Studio 2013 y tenía un proyecto existente bajo control de fuente.
Había descargado una copia nueva del control de código fuente a un nuevo directorio.
Después de realizar cambios en la copia nueva, al compilar recibí el error en cuestión.
Mi solución:
1) Abrir
Documents\IISExpress\config\applicationhost.config
2) Actualizar
virtualDirectory
nodo con directorio a la copia nueva y guardar.fuente
Mi problema fue que tenía un servicio web en el proyecto y cambié la ruta de construcción.
Restaurar la ruta de construcción predeterminada resolvió mi problema.
fuente
Tuve este mismo problema y seguí la mayoría de las instrucciones en las otras respuestas publicadas aquí, nada parecía funcionar para mí.
Finalmente abrí IIS y reciclé el grupo de aplicaciones para mi aplicación web. Tengo la versión 8.5.9600 de IIS, hice clic con el botón derecho en mi aplicación web y luego: Implementar> Reciclar> Reciclar grupo de aplicaciones> Aceptar.
Eso parece haberlo solucionado, los puntos de interrupción ahora se alcanzan como se esperaba. Creo que hacer esto junto con eliminar las carpetas bin y obj ayudó a mi situación.
¡Buena suerte!
fuente
Sé que esta es una pregunta antigua, pero tuve el mismo problema y quería publicar aquí en caso de que ayude a alguien más. Conseguí una computadora nueva y el departamento de TI fusionó mi computadora vieja con la nueva. Cuando configuré TFS, asigné una ruta local diferente a la que estaba usando anteriormente, a una unidad interna adicional. La ruta anterior aún existía a partir de los datos combinados en mi disco duro, por lo que aún podía compilar y ejecutar. Mis rutas de IIS también apuntaban al directorio antiguo. Una vez que actualicé IIS a la ruta correcta, pude depurar bien. También eliminé el directorio antiguo por si acaso.
fuente
También experimenté eso. Simplemente abro la carpeta obj en el proyecto y luego abro la carpeta de depuración, elimino el archivo .pdb y eso es todo.
fuente
Este error también ocurre si intenta realizar cambios en un archivo fuente que no forma parte del proyecto.
Estaba depurando un método de un .dll de otro de mis proyectos, donde Visual Studio había cargado la fuente de manera bastante útil porque el .dll se había construido en la misma máquina y conocía la ruta a la fuente. Obviamente, cambiar un archivo de este tipo no hará nada a menos que reconstruya el proyecto al que se hace referencia.
fuente
fuente
En Visual Studio 2015, usando C ++, lo que solucionó para mí el
the source file is different from when the module was built
problema fuefuente
Depurar-> iniciar sin depurar.
Esta opción funcionó para mí. ¡Espero que esto ayude!
fuente
Verifique si la ubicación que señaló usando mex () en Matlab es correcta (contiene archivos lib y obj que se modifican a la última fecha en que compiló la biblioteca en Visual Studio).
Si este no es el caso:
Asegúrese de estar compilando Visual Studio en un modo que guarde archivos .lib:
propiedades -> Propiedades de configuración -> General -> Tipo de configuración -> biblioteca estática
propiedades -> Propiedades de configuración -> General -> Extensión de destino = .lib (en lugar de exe)
Asegúrese de que los directorios de salida e intermedios coincidan con el directorio de Matlab en
fuente
En mi caso, la respuesta de @ Eliott no funciona. Para resolver este problema, tuve que excluir / incluir del proyecto mi archivo deficiente, y también limpiar y reconstruir la solución.
Después de estas acciones, se restauran mi archivo con mis últimas modificaciones y el depurador.
Espero esta ayuda.
fuente
A veces tengo este problema al depurar con Visual Studio, pero cuando la aplicación es servida por IIS . (Tenemos que desarrollarnos de esta forma por algunas razones complicadas que tienen que ver con cómo el desarrollador original configuró este proyecto).
Cuando cambio el archivo y lo reconstruyo , eso lo soluciona la mayor parte del tiempo. Sé que suena tonto, pero solo estaba tratando de depurar un código para ver por qué está haciendo algo extraño cuando no lo he cambiado por un tiempo, y probé una docena de cosas desde esta página, pero se solucionó simplemente cambiando el archivo..
fuente