When you set TFS to compile your project it will deliver the output of the build into a builds folder. You have three options as to how the output is organised and this is controlled by the Output location option located in your Build process parameters.
- SingleFolder (default) – All binaries from the build are copied to the specific build folder.
- PerProject – For each project/solution (and yes you can specify more than one project to build) you’ll find a folder matching the name of the project/solution and all of the binaries for that solution inside that folder.
- AsConfigured – no binaries are copied therefore you’ll have to use a post build script to copy the files.
Your solution will typically contain more than one project and you might expect choosing PerProject will create a set of directories that match your projects. Not quite.
To rectify this you need to add /p:GenerateProjectSpecificOutputFolder=true to the MSBuild arguments (available in .Net 4.5). Output location should be set to SingleFolder or PerProject, I prefer the latter in case you select a second project in the same build.

For each project you’ll now see a separate folder like so: {drop number} \ {project name} \ *.dll | *.exe | *.pdb