I've discovered that it is rare for Visual Studio behave like this. One of the comments was this might be because the projects were upgraded from VS2008.
To get specific. Say there's a dependency beween projects where A depends on B, B depends on C, and C depends on D.
A<--B<--C<--D.
Now say there's an error in A, but B,C,and D compiled correctly.
What happens next for me is that VS will compile all four projects every time I try to compile A.
Command: right-click on project A, select Build.
same behaviour from menu: Build / Build A
Is there a way to ensure that Visual Studio only rebuilds a dependent projects when there are changes in those proejcts? Currently Visual Studio rebuilds all dependencies.
I noticed that the suggestion on the link below was to partition the solution into logical groups (and then reference .dlls directly I suppose). If this is the best way forward, is it to have each project build to a common .\bin folder, and then reference from there?
related question: Visual studio keeps building everything
It'd be awesome if I could keep one big solution file.
UPDATE:
discovered a warning in verbose build mode described here: http://support.microsoft.com/kb/2516078 It doesn't seem to be related though. I'm still going to fix this just-in-case. (NOW FIXED by re-referencing projects + path hints by hand using $(VAR) environment variables)
pointed a desk fan directly at laptop. CPU was being throttled because of overheating.
went through every project and switched off auto serialization (found in the project properties / build screen)
increased the maximum number of parallel builds in tools / options / Build and Run. I didn't think this would help given that it is just a laptop with two cores, but it did.
seeing 'Previously built successfully'... so looks like desired behaviour is often occuring (still investigating). Situation is much better now though.
still going through verbose build logs and tidying things up.