I have a Visual Studio 2010 solution that sometimes fails to build and I get no error messages or information regarding what failed. This builds successfully about half the time.
We have a somewhat complex Visual Studio 2010 solution, 74 projects mostly C# with some C++. Several months ago it would fail about 1 in 20 times the build was run on a build machine. We didn’t think too much of it since a second run would always succeed. Now the failures are much more frequent failing about 1 in 4 times.
We are using TFS to prepare the build area, so all files are deleted and a fresh get it performed each time. The builds themselves are being run from a batch file using the two following commands:
Devenv.exe "ToolSet.sln" /clean "Release" /out "build2010.log"
Devenv.exe "ToolSet.sln" /build "Release" /out "build2010.log"
In an attempt to get more information I set the “MSBuild project build log file verbosity” to Diagnostic. With that set to diagnostic I can no longer get any builds to succeed and instead of getting a summary with about 70 successfully built and 4 failures, I get about 3 successful and 71 failures. The exact number varies from build to build. In addition the call to clean the solution fails when before it had never failed.
If I move the solution folder to the root of the C: drive (with diagnostic level logging) the successful rate increases from 4 to 10.
I have three virtual machines (VM) and one desktop machine giving me four machines to work with. The VMs are running Windows Server 2008 R2 and the desktop is Windows 7 Enterprise. Increasing the RAM on the virtual machines to 3GB slightly improved the odds of the build completing successfully. But the real hardware has 6GB and fails the most frequently.
There are no .SUO files checked into TFS so that isn’t the problem. The files themselves are fine because logging into the build machine after the build and just running the batch file commands to build the solution will usually work.
I’m looking for suggestions on how to narrow down the source of this problem .