views:

278

answers:

2

Recently I've changed our team build project file from:

<SolutionToBuild Include="$(SolutionRoot)/OurSolution.sln">

to

<SolutionToBuild Include="$(SolutionRoot)/**/*.csproj">

This was necessary because we have many projects which are not contained in the solution file, and for our purposes it is not feasible to just add the projects. We would like to be able to build them all in one go. So we found a way to recursively build all the projects.

This works fine and the build can be done with no errors. The only problem is there are no binaries copied to the drop folder! In fact, we can't find them anywhere! Building from the solution, the binaries are copied to a Binaries folder on the build agent. But nothing is there when building from the individual projects.

So my question is, where are they? Why does team build report that everything built fine, but then nothing is there to be copied. They aren't even in the normal bin/Release folder under the project directory.

Can someone help me understand? I feel it probably has something to do with information contained in the solution file which is not present in the project files, but I can't figure it out.

A: 

Have you looked through the TFSBuild logs. If you have TFS 2008 the logs have lots of crunchy details that the TFS 2005 did not have.

Another thought is to fire up FileMon and watch for files created by the TFSBuild service.

JD
+4  A: 

I think that the SolutionToBuild item is empty and nothing is getting built. You can verify by

<Message Text="SolutionToBuild: $(SolutionToBuild)" Importance="high"/>

Then look through your log for that statement.

You may want to revise your approach in any case. Better would be to create an MSBuild file yourself, i.e. BuildAll.proj. In that file just use the MSBuild task to build all the projects. Then set that file to be the SolutionToBuild. This will give you some more flexibilty when the projects are getting built. You can add steps before/after the build for those projects or all of them.

Sayed Ibrahim Hashimi
Thanks for the advice. That was it, nothing in fact was being built at all. Coincidentally, I just started reading your book yesterday at work! They had a new copy in the company library. So far it's telling me all the things I've been wondering about, but had no good resource to refer to.
JimDaniel
That's is pretty funny, let me know what you think of the book.
Sayed Ibrahim Hashimi