Using Web References in ASP.NET projects from TeamBuild

Recently, I had an opportunity to answer couple of customer questions on building web sites with references under TeamBuild. Here are the details:

If the user is using project-to-project (P2P) reference approach to reference a project in ASP.NET project, then he should not checkin the binaries related to dependent project in the bin folder of ASP.NET project. When there is a P2P reference, the project dependency order is automatically set and the dependent dll will be copied to the bin folder after it is built.

In case the user is using hard coded reference (by browsing to the file), we should recommend the following:

  1. Checkin the external references under the same TeamProject.
  2. Create a workspace with a mapping to the common root of the solution folder and the external references folder. For example, the common root of a solution that is checked in at $/TeamProject/Foo/Bar/Solution and the external references that are checked in at $/TeamProject/Foo/ExternalReferences is anything above Foo.
  3. Get all files using this workspace and adjust the references by browsing to the checked in external references
  4. Select a workspace that includes both external references folder and solution folder in the Team Build type