2010-01-26 7 views
8

Ho scritto un addin VS che intercetta il comando di compilazione di Visual Studio e utilizza un altro sistema di build per creare una build. Ho la mia build che mostra errori nel formato giusto in modo che tu possa fare clic su di essi in VS, ma l'unico passaggio rimanente per un'integrazione completamente trasparente è quello di impedire che i comandi di "esecuzione" o "debug" di VS non provino a lamentarsi il progetto è costruito (quando ovviamente lo è) qualcuno sa come posso ingannare il VS nel pensare che il progetto sia costruito?Che cosa usa Visual Studio per determinare se una build è aggiornata?

+0

Guardate qui: http://stackoverflow.com/questions/2762930/vs2010-always-thinks-project-is-out -di-date-ma-non-ha-cambiato –

risposta

5

In breve, MSBuild/Visual Studio verifica l'output dei target definiti nella configurazione di un particolare progetto. Successivamente confronta il timestamp dei file specificati come output di destinazione con timestamp di tutti i file specificati come input per quel particolare target. Se l'input è più aggiornato dell'output, richiede di rigenerare l'output (ricompilare il codice sorgente o ricollegare i file oggetto, ecc.)

Come posso ingannare VS nel pensare che il progetto sia stato costruito ?

Aggiornamento timestamp di file di input, vale a dire i file sorgente (.cpp, .cs) o file binari come .obj utilizzati come input per il linker e altri file che sono di vostro interesse.

A volte lo faccio emissione manualmente il comando seguente utilizzando touch utilità dal GnuWin32

touch myfile.obj 
2

Visual Studio utilizza il timbro data/ora dei file di origine. Se il file sorgente è più aggiornato, il file binario compilato situato in bin\debug o bin\release, Visual Studio ricostruirà la soluzione.

A volte, il processo di ricostruzione può fallire, la soluzione rapida è quella di eliminare i file di debug intermedi *.pdb all'interno della cartella bin\debug o bin\release della soluzione. Quindi emettere una build sulla soluzione.

Spero che questo aiuti, Cordiali saluti, Tom.

Problemi correlati