Our current project uses the possibilities of MSBuild to have a daily build on a TFS server. This has been working up until yesterday somewhere around noon. Nobody knows what exactly happened, but it stopped working after our successful build of 11:42 am.

Our problem:
Compilation of one project (of a total of 71 projects) is failing. The project builds successful on the local machines of all the developers. It references EnterpriseLibrary.Common and EnterpriseLibrary.Configuration (among other assemblies), both of EntLib 1.2. In the csproj file, both references have a hintpath which is relative, indicating the references in the project file are right. The references are made to an ‘external references’ folder, where the entire EnterpriseLibrary can be found. This folder is also available in source control.

(Part of) the statement which makes the build fail:
Csc.exe /reference:”E:TFSBuildprojectname.DailyBinariesReleaseMicrosoft.Practices.EnterpriseLibrary.Common.dll” /reference:”….External ReferencesEntLib 1.2.0.0Microsoft.Practices.EnterpriseLibrary.Configuration.dll”

My main question is: what is making MSBuild pass one reference with a relative path, and one with an absolute one? And why to the binariesrelease folder? I tried cleaning up the project file, and I even made an entire new project and copied the files from the ‘old one’ there. But all of this to no avail. We’re currently further investigating this issue, and a thread has been started on the MSDN forums. I’ll keep you posted on any updates.