Quote Originally Posted by Mike Harnad View Post
There's no reason to guess at the cause. [...]
After this thread had hinted me to the fact that the cause might be a timestamp screw-up (which, with hindsight, looks like a quite natural reason... ), there was not much guessing involved for me at all. It took me a few minutes to figure out the screw-up, then one hour and 71 lines of C++/CLI to hack together a first working version of a command line tool to sweep-fix that quirk over an entire solution's directory tree (or whatever tree I want, for that matter). (And, actually, in the meantime I could use that tool one more time. )

Before I found the thread, however, I had spent hours of searching for some sort of weird hidden dependency, that, as I do know now, I couldn't find of course. During this process I also experimented with the MSBuild output verbosity level as can be set in the IDE preferences, and to me, already the detailed output rather was too much information in which I didn't find what I was looking for. (And now it looks like it wouldn't have been there anyway.) Didn't even touch the diagnostic level...

The most valueable effect of your link for me, however, actually rather was a side effect: It made me read up on that .NET diagnostic switch facility, of which I already knew it existed, but otherwise ignored it for the most part. And it turned out that this can pretty much simplify a lot of diagnostic stuff I currently do using "homegrown" app.config properties I read in as strings and then process entirely on my own. Also, it gave me some ideas how I might improve my own logger module by tighter integrating it with the existing .NET diagnostics infrastructure. Thanks!