We have CCnet+msbuild+tfs.
Builds are configured for each project. We didnt build with solution.
The problem is how should we configure build to not rebuild all projects again if we make only 1
change relevant to one exact project in source control ? Is there any way to make some condition, and where should
we specifu it ?
When calling msbuild use Build as target and not ReBuild. Also make sure you don't change the date of the source files and not to remove any intermediate debug files.
Like Lars said, you have to build it with "Build" target. If projects are still rebuilding, you have to change verbosity to detailed (/v:d).
Open log file and search for "Building target "CoreCompile" completely.". Check the first line below for a reason why this project was build completely. There should be something like this:
Building target "CoreCompile" completely.
Input file "C:\Users\xxx\AppData\Local\Temp\xpv14dzs.cs" is newer than output file "obj\Debug\Assembly.pdb".
来源:https://stackoverflow.com/questions/7728773/how-to-make-msbuild-do-not-rebuild-all-projects