Where art thou AdditionalReferencePath?

Team Build 2008 provided an ItemGroup called AdditionalReferencePath where you could specify a list of directories that MSBuild would search for dependencies. This was typically used when you had a GAC reference that was not in the GAC of your build machine. You could check-in a directory containing the assemblies and add an AdditionalReferencePath item pointing at this directory:

<ItemGroup>

  <!--  ADDITIONAL REFERENCE PATH

   The list of additional reference paths to use while resolving references. For example:

    

       <AdditionalReferencePath Include="C:\MyFolder\" />

       <AdditionalReferencePath Include="C:\MyFolder2\" />

  -->

  <AdditionalReferencePath Include="$(SolutionRoot)\Silverlight\ExternalDependencies\" />

</ItemGroup>

Looking at the Build Process Parameters in Team Build 2010 you could be forgiven for thinking that this feature is no longer available. Fear not, it is, it’s just not as visible as it used to be. If you expand the Advanced section you can specify /p:ReferencePath=path1[;path2…] in the MSBuild Arguments parameter as shown here:

image

Thanks to Aaron Hallberg for clarifying this for me…