Open Tools – Options, select Projects and Solutions – Build and Run in tree, then set “MSBuild project build output verbosity” to Diagnostic.
This will output the reason for building a project, i.e.
Project ‘ReferencedProject’ is not up to date. Project item
‘c:\some.xml’ has ‘Copy to Output Directory’ attribute set to ‘Copy
always’.
or
Project ‘MyProject’ is not up to date. Input file
‘c:\ReferencedProject.dll’ is modified after output file
‘c:\MyProject.pdb’.
In this case the fix is to copy some.xml only if newer.
Pre and post build events can trigger build as well.