TargetsNotLogged Hotfix Available

I did a post a while back on a change in TFS Build SP1 which reduced build log noise by cutting out the build steps for project-to-project references (of the form "Project 'project' is building project 'dependent project' for target(s) 'GetNativePath'", and so forth).  Unfortunately, as noted on the TFS Build forums and elsewhere, the fix in SP1 didn't actually fix the problem, at least not completely.  In particular, the mechanism we used to communicate the TargetsNotLogged property to our logger and thereby skip the logging of particular targets only worked the first time a particular project-to-project reference was evaluated.  As such, if a project was referenced by 10 other projects the fix in SP1 would reduce the number of spurious build steps from 10*3 to 9*3 rather than removing them altogether.

A hotfix is finally available that will address the remaining parts of the problem - it can be downloaded here.  Note that this hotfix assumes that you have already installed SP1 on your build machine, so make sure to install SP1 and then the hotfix if you are currently running TFS Build 2008 RTM bits.  After this hotfix is applied you should, by default, never see another project-to-project reference build step - I've heard reports from some customers of this reducing their total number of build steps from over 3000 to under 200, so in some cases this can have a dramatic effect on build time (each of those build steps corresponds to a server call made during the build).