In our project, we\'d like to have our TFS build put each project into its own folder under the drop folder, instead of dropping all of the files into one flat structure. To
Here's a very simple solution that requires no modification to source files or project files. When setting up your build definition's Process -> Projects to Build, instead of specifying your .sln file in the projects to build, add each project (.csproj or .vbproj). Now inside the "Run MSBuild for Project" step of your workflow, change the OutDir property to the following:
outputDirectory + "/" + serverBuildProjectItem.Substring(serverBuildProjectItem.LastIndexOf("/"), serverBuildProjectItem.Length - serverBuildProjectItem.LastIndexOf("/")).Replace(".csproj", String.Empty)
This will place each project's build output in to a subdirectory named after the project.