I'm responsible for an add-in that we use to allow our analysts (who
are actually accountants for the most part) to do a build, so the
programmers don't get constantly interrupted for rebuilds for
something the analysts can easily handle.
The add-in uses OnBuildBegin and OnBuildDone event handlers for
logging and error reporting. The event handlers *are* being called.
A trace statement at the beginning of both event handlers fires, so I
get this on my computer:
_BuildEvents_OnBuildBegin(vsBuildScopeSolution, vsBuildActionClean)
_BuildEvents_OnBuildDone(vsBuildScopeSolution, vsBuildActionClean)
_BuildEvents_OnBuildBegin(vsBuildScopeSolution, vsBuildActionBuild)
_BuildEvents_OnBuildDone(vsBuildScopeSolution, vsBuildActionBuild)
...
This is *exactly* what I expect to see, and oddly enough, things work
just fine for me. However, instead of those trace statements, the
rest of the group gets this:
_BuildEvents_OnBuildBegin(0, vsBuildActionClean)
_BuildEvents_OnBuildDone(0, vsBuildActionClean)
_BuildEvents_OnBuildBegin(0, vsBuildActionBuild)
_BuildEvents_OnBuildDone(0, vsBuildActionBuild)
...
Since 0 != vsBuildScopeSolution, the rest of the handler doesn't fire,
and our log is largely useless. The build *does* happen, it just
doesn't report anything about itself.
Has anyone else run into this, and if so, is there a way around it?