Resolving references in Team Build ( Part 3 )

Scenario

We have a common project that contains company wide logic that rarely changes and almost every other project references these common assemblies. I don’t want (or need) to build these assemblies with each projects nightly build, but would rather just grab the dlls from a common bin folder. Currently this common bin folder is 'shared' in SourceSafe. This way we only need to update the bin folder instead of having multiple copies for every other solution. Is it a supported scenario in Team Build?

 

Yes, it is supported in Team build.

 

Additionally I don't want each build type to rebuild these common assemblies. I want team build to just grab the assemblies from source control. I want different Team Projects to reference the shared/common folder.

 

Resolving the references directly from source control is not possible. You need to sync the “shared” folder on the build machine. Please make sure that relative path of the references are correct. Also make sure you have the correct versions of assemblies in the common shared folder. You can include the reference for the “shared” folder by editing the build type definition (tfsbuild.proj). Define a new item of the type "AdditionalReferencePath". Make this item point to the "shared" folder. Please note that post beta 3 there might be a change in the way external references are resolved. If you are using beta 3 bits, apply the fix (mentioned in this post) to file Microsoft.TeamFoundation.Build.targets.