MSBuild is so nearly perfect, but not quite. I've got a fantastic build process now, that does all kinds of useful things, but it has a strange quirk. Quite often, the build fails. The only input into the process is the contents of the SourceSafe database, so the assumption would be that someone checked in something evil. Not so. Running the build immediately afterwards, the build succeeds.
The cause is a copy task that copies all files built in release mode into a directory on the same machine. The issue seems to be the Include="@(Source)\**\bin\Release\*.*". Sometimes it selects everything, sometimes it selects nothing (and yes, I have checked that there are files there).
I've tried using the standard copy task, and the SDC copy task, and both randomly fail. I hope this is sorted out in Beta 2: I don't want to redo it all in NAnt.