Hi,
When building a website (not a web application) with MSBuild, a metaproj file is created that contains a.o. the list of all dependencies. My understanding is that the "xxx.dll.refresh" files available in the bin folder are used to create this list (at least for all indirect dependencies added explicitly/manually into the bin folder for publishing purpose - I am not at all familiar with this metaproj file).
Next, MSBuild copy all assemblies into the TargetDir (MyWebSite\bin) and run the ASPnet_compiler
Unfortunately, on our TFS Build Server, the dependencies are not located in the same folder as on the development workstations (and they are not in the GAC either). The purpose is to be able to compile (and unit test) against various versions of those dependencies without changing anything in the csproj, etc... (We manage this using the "referencePath" option of MSBuild to specify where MSBuild must look for referenced assemblies).
The problem is that, apparently, MSBuild does not use the "referencePath" to find the assemblies listed in the metaproj (or to create this metaproj) :(
Is this correct or am I misunderstanding ? Any trick to force the metaproj to contains path to the "server"'s location of the dependencies (i.e.: the "referencePath") instead of the path found in the ".refresh" files ?
Valéry Letroye
PS.: actually, even if the dependencies are located at the same place on the Build server as on the workstations, it won't work because the .refresh files contains relative paths... and the build location on the Build Server depends on the Build Agents' name, etc...