2013-02-21 12 views
9

Vorrei chiarire un concetto. in C#, quando costruiamo (o ri-costruire) una soluzione, volte abbiamo Build: 1 succeededDifferenza tra 1 riuscito e 1 riuscito o aggiornato in C#

e, a volte,

Build: 1 succeeded or up-to-date 

Ok, so che qualcosa nel nostro codice sarebbe non come per logica quando otteniamo l'ultimo ans.

Ma cosa significa CONCEPTUALLY?

Grazie ..

+1

Secondo me significa che il progetto "aggiornato" non ha davvero bisogno di essere costruito poiché nulla è cambiato dall'ultima build – millimoose

+0

possibile duplicato di [Che cosa usa Visual Studio per determinare se una build è aggiornata?] (http://stackoverflow.com/questions/2140003/what-does-visual-studio-use-to -Determinare-che-un-build-è-up-to-date) –

risposta

7

Build: 1 succeeded in generale si riferiscono alla corretta compilazione della soluzione con 1 progetto in esso.

mentre

Build: 1 succeeded or up-to-date significa che i codici del progetto all'interno della vostra soluzione non è cambiata, non era necessario, quindi, la compilazione. Quindi, 1 Build Success or up-to-date

3

Significa che nulla è cambiato nel progetto. VS (ben MSBUILD davvero), decide se è aggiornata come segue:

Da: How does MSBuild decide whether it needs to rebuild a C# library or not?

Se si guarda Microsoft.CSharp.targets (il file msbuild per compilazione di progetti C#) il CoreCompile target ha un set di Input e Output definiti. Questi sono usati per fare il controllo delle dipendenze per vedere se è necessario eseguire CoreCompile. L'elenco degli input include i file C#, i file di risorse , l'icona dell'applicazione, il file chiave con nome sicuro e altri input personalizzati che è possibile definire.

Se si dispone di una soluzione e msbuild eseguire su di esso con la registrazione diagnostica abilitato (/ v: il comando diag parametro della riga), si potrebbe vedere questo messaggio se le uscite sono aggiornati:

Saltare target "CoreCompile "perché tutti i file di output sono aggiornati rispetto ai file di input. Project \ windows \ Microsoft.NET \ Framework \ v3.5 o v4.0.30319

0

Una "up-to-date":

Il file target si trova nella directory di .NET Framework (c. è stato precedentemente realizzato con successo e non è stato modificato da quel momento, quindi non è stato ricostruito

Problemi correlati