il file sorgente è diverso da quando è stato creato il modulo

Questo mi sta facendo impazzire.

Ho un progetto piuttosto grande che sto cercando di modificare. Ho notato in precedenza che quando ho digitato DbCommand , Visual Studio non ha fatto alcuna evidenziazione della syntax su di esso, e sto usando utilizzando System.Data.Common .

Anche se non è stato evidenziato nulla, il progetto sembrava funzionare bene nel mio browser. Così ho deciso di eseguire il debugger per vedere se le cose funzionassero davvero come dovrebbero essere.

Ogni volta che la class che non ha fatto l’evidenziazione viene chiamata, ottengo il messaggio "the source file is different from when the module was built" .

Ho pulito la soluzione e l’ho ricostruita diverse volte, ho cancellato i file tmp, seguito tutte le indicazioni qui. “Il file sorgente è diverso da quando è stato creato il modulo.” , riavviato il server web e ancora mi dice che i file sorgente sono diversi quando chiaramente non lo sono.

Non posso testare nessuno dei codici che ho scritto oggi a causa di questo.

  • Come può la fonte essere diversa dal binario quando l’ho appena rispettato?
  • C’è un modo per mettere un po ‘di senso nello studio visivo, o mi manca qualcosa?

Ho ottenuto questo problema eseguendo un’app console in cui la fonte che era diversa era la fonte che aveva il punto di ingresso (static void Main). L’eliminazione del cestino e delle directory obj e una ricostruzione completa sembravano risolvere questo problema, ma ogni volta che ho apportato un cambiamento di codice, sarebbe di nuovo scaduto.

Il motivo per cui ho trovato questo era:

  1. Ho controllato “Crea solo progetti di avvio e dipendenze su Esegui” (Strumenti -> Opzioni -> Progetti e soluzioni -> Crea ed esegui)
  2. In Configuration Manager, il mio progetto di avvio non ha selezionato “Build”

(Per # 2 -> accessibile tramite la barra degli strumenti sotto l’elenco a discesa “Debug / Release”.)

Stavo solo avendo lo stesso problema, i miei progetti erano tutti nella stessa soluzione, quindi stavano usando i riferimenti Project to Project, così come uno avrebbe cambiato gli altri avrebbero dovuto essere aggiornati. Tuttavia non era il caso, ho provato a build, ribuild, chiudere VS2010, tirato una nuova copia dal nostro controllo del codice sorgente. Niente di tutto ciò ha funzionato, quello che alla fine ho provato è stato fare clic destro sul progetto e ribuild ogni progetto individualmente. Ho aggiornato i file .dlls e .pdb in modo da poter eseguire il debug.

Il problema qui è che la tua DLL o i tuoi file pdb non sono sincronizzati.

Alcune cose da controllare:

Hai ricontrollato i riferimenti del tuo progetto?

Hai un server Web avviato da Visual Studio ancora in esecuzione? Controlla la barra delle applicazioni e cerca una pagina con un’icona a forma di ingranaggio (potresti averne più di una):

alt text http://sofit.miximages.com/c%23/image_2.png

Fai clic destro e chiudi / esci. Potresti avere più di uno. Puoi eseguire il debug delle modifiche ora?

Stai eseguendo la versione di debug ma hai solo costruito la versione di rilascio (o viceversa)?

La compilazione ha effettivamente avuto successo? So di aver cliccato su “c’erano errori, vuoi continuare comunque?” messaggio un paio di volte senza rendersene conto.

Segui questi passi

  1. Basta eliminare la directory bin dal progetto in cui viene generata la DLL.
  2. Ricrea il progetto.
  3. Rimuovere il riferimento dal progetto che fa riferimento alla DLL.
  4. Includere nuovamente il riferimento.
  5. Godere.

Con i servizi Web, il problema può essere causato dall’utilizzo del comando “Visualizza nel browser” di Visual Studio. In questo modo i file DLL e PDB del servizio si trovano nelle cartelle bin e obj. Quando si accede al servizio Web da un client, in qualche modo Visual Studio utilizza il PDB nella cartella bin (o obj), ma utilizza la DLL nella cartella di produzione dell’output del progetto. Ci sono un paio di soluzioni alternative:

  1. Prova a eliminare i file DLL e PDB nel cestino del servizio Web e nei file obj.
  2. Prova a fare clic su “Visualizza nel browser” in Visual Studio.

Se in precedenza si è verificato l’errore di disallineamento del file di origine, Visual Studio potrebbe aver aggiunto il nome file a una lista nera. Controlla le proprietà della tua soluzione. Scegli “Proprietà comuni -> Debug Source Files” sul lato sinistro della finestra di dialogo. Se i file di origine del servizio Web vengono visualizzati nel campo “Non cercare questi file di origine”, eliminali.

Ho appena avuto questo problema.

Ho provato tutto quanto sopra, ma solo questo ha funzionato:

  • eliminare il file .pdb per la soluzione.
  • eliminare i file obj dannosi (per il file che viene segnalato fuori sincrono)

build la soluzione.

Questo ha risolto il problema per tutte le build che avanzavano per me.

Ecco come ho risolto il problema in Visual Studio 2010:

1) Modifica l’opzione “Configurazioni soluzioni” da “Debug” a “Rilascia”

2) Avvia il debug

3) Arresta il debug e cambia l’opzione ‘Configurazioni soluzioni’ in “Debug”

Questo ha funzionato per me. Il passaggio 3 è opzionale: funzionava perfettamente quando l’ho modificato in “Rilascio”, ma volevo cambiarlo di nuovo.

La mia soluzione:

Ho incluso un progetto esistente da una soluzione diversa in un nuovo file di soluzione.

Non ho notato che quando il progetto esistente è stato ricostruito, stava inserendo l’output finale nella directory di output della NUOVA soluzione. Ho avuto un percorso linker definito per esaminare la directory di output della soluzione OLD.

Il passaggio del mio progetto alla ricerca nella directory di output della nuova soluzione ha risolto il problema per me.

Ho avuto questo problema e risulta che stavo eseguendo la mia applicazione console come un’applicazione Windows. La modifica del tipo di output su console ha risolto il problema.

Ho avuto lo stesso problema. Per risolvere il problema ho usato la “Release Mode” per eseguire il debug in VS2013. Che è sufficiente per me, perché sto lavorando in un nodo js \ c ++ addon.

Scaricare il progetto con il file che causa l’errore.

Ricarica il progetto.

Fisso

In Visual Studio 2017 è stata eliminata la cartella .vs nascosta nel risolti questo problema.

soluzione: – il problema è: – se alcuni progetti in una soluzione, fare riferimento ad altri progetti, a volte la dll di alcuni progetti, non si aggiorneranno automaticamente, ogni volta che si crea la soluzione, alcuni progetti avranno le dll di compilazione precedenti, non ultime DLL

devi andare manualmente e copiare la DLL dell’ultimo progetto di costruzione nel progetto di riferimento

Stavo usando Visual Studio 2013 e avevo un progetto esistente sotto il controllo del codice sorgente.
Avevo scaricato una nuova copia dal controllo del codice sorgente in una nuova directory.
Dopo aver apportato le modifiche alla nuova copia, al momento della compilazione ho ricevuto l’errore in questione.

La mia soluzione:
1) Apri Documents\IISExpress\config\applicationhost.config
2) Aggiornare il nodo virtualDirectory con la directory sulla nuova copia e salvare.

Il mio problema era che avevo un webservice nel progetto e ho cambiato il percorso di costruzione.

Il ripristino del percorso di generazione predefinito ha risolto il problema.

Ho avuto lo stesso problema e ho seguito la maggior parte della guida nelle altre risposte pubblicate qui, niente sembrava funzionare per me.

Alla fine ho aperto IIS e riciclato il pool di applicazioni per la mia applicazione web. Ho IIS versione 8.5.9600, ho fatto clic con il pulsante destro del mouse sulla mia applicazione Web, quindi: Distribuisci> Ricicla> Ricarica pool di applicazioni> OK.

Sembra che l’abbia risolto, i punti di rottura ora vengono colpiti come previsto. Penso che fare questo insieme alla cancellazione del cestino e alle cartelle obj abbia aiutato la mia situazione.

In bocca al lupo!

So che questa è una vecchia domanda, ma ho appena avuto lo stesso problema e volevo postare qui nel caso in cui aiuti qualcun altro. Ho un nuovo computer e il reparto IT ha unito il mio vecchio computer con quello nuovo. Quando ho impostato TFS, ho mappato un percorso locale diverso da quello che utilizzavo in precedenza, a un’unità interna aggiuntiva. Il vecchio percorso esisteva ancora dai dati uniti sul mio disco rigido, quindi potevo ancora creare ed eseguire. Anche i miei percorsi IIS puntavano alla vecchia directory. Una volta aggiornato IIS al percorso corretto, sono stato in grado di eseguire il debug corretto. Ho anche cancellato la vecchia directory per buona misura.

L’ho anche vissuto. Ho appena aperto la cartella obj sul progetto e poi apro la cartella debug per eliminare il file .pdb e basta.

Questo errore si verifica anche se si tenta di apportare modifiche a un file di origine che non fa parte del progetto.

Stavo eseguendo il debug di un metodo da una .dll di un altro dei miei progetti, in cui Visual Studio aveva caricato molto utile l’origine perché il dll era stato creato sulla stessa macchina e conosceva il percorso della sorgente. Ovviamente, la modifica di un file di questo tipo non farà nulla se non si ricostruisce il progetto di riferimento.

  1. Elimina tutti i punti di interruzione.
  2. Ribuild.
  3. Fatto

In Visual Studio 2015, utilizzando C ++, ciò che ha stabilito per me il the source file is different from when the module was built

  • riavviare Visual Studio.

Debug-> inizia senza eseguire il debug.

Questa opzione ha funzionato per me. Spero che questo ti aiuti!

Verifica se il percorso che hai indicato usando mex () in Matlab è corretto (contiene file lib e obj che sono stati modificati nell’ultima data in cui hai compilato la libreria in Visual Studio).

Se questo non è il caso:

Assicurati di compilare Visual Studio in una modalità che consente di salvare i file .lib:

  1. proprietà -> Proprietà di configurazione -> Generale -> Tipo di configurazione -> libreria statica

  2. proprietà -> Proprietà di configurazione -> Generale -> Estensione di destinazione = .lib (invece di exe)

Assicurarsi che l’output e le directory intermedie corrispondano alla directory Matlab in

  1. proprietà -> Proprietà di configurazione -> Generale -> Directory di output
  2. proprietà -> Proprietà di configurazione -> Generale -> Directory intermedia

Il mio problema era che avevo due progetti nella mia soluzione. Il secondo era un progetto di test usato per chiamare il primo. Avevo scelto il percorso dei riferimenti dalla cartella di rilascio della cartella bin.

Quindi ogni volta che ho apportato una modifica al codice del primo progetto e lo ho ricostruito, aggiornava le DLL nella cartella di debug ma il progetto chiamante puntava alla cartella di rilascio, dandomi l’errore, “il file sorgente è diverso da quando il modulo fu costruito.”

Una volta eliminato il riferimento alla DLL principale del progetto nella cartella di rilascio e impostato sulla DLL nella cartella di debug, il problema è andato via.

Nel mio caso, la risposta di @ Eliott non funziona. Per risolvere questo problema ho dovuto escludere / includere dal progetto il mio file carente, e anche pulire e ribuild la soluzione.

Dopo queste azioni, vengono ripristinati il ​​mio file con le mie ultime modifiche e il debugger.

Spero che questo aiuto.