When we were using team build we could use AdditionalReference to specify additional paths, but I cannot seem to get that to work using FinalBuilder. I have created a new build type from Team Explorer and when I try to build it complains about missing references. I then added a AdditionalReferencePath tags to the TFSBuild.proj as we did before but it doesn't seem to take.
Thanks for your post. Sorry it’s taken us a couple of days to get back to you.
Probably the best way to supply additional references is to use an MSBuild Project action in your FinalBuilder project. You can use the MSBuild Project action to build your solution files, and then supply a ReferencePath property to let it know where to find dependency assemblies.
To configure this, add an MSBuild Project action, set the “Project File” path to match your Visual Studio solution. On the Project Properties tab, add a property with name “ReferencePath” and set the value to a semicolon-delimited list of extra paths to check, ie
C:\Build\Project A References;C:\Build\Project B References
We’ll see if we can add a “ReferencePaths” option to the Build VS.NET Solution action, so you don’t need to use the MSBuild Project action to add this information.
My Projectes are referencing some assemblines like “…\lib\my.dll” and Finalbuilder isn’t able to solve this. May I solve this problem by giving final builder extra commandline args?
Is this in the “HintPath” section for referenced assemblies (which can be seen when you select the Assembly reference and click the Properties tab in Visual Studio)? If so, these paths are (by default) set as relative paths.
If they are not correct when your build runs, then you can use the ReferencePath property (as described above) to add one or more extra directories to search for the referenced assemblies. You only need to do this for any assemblies which are not found by using the HintPath.
We actually have a test build coming out which supports ReferencePaths directly in the Build VS.NET Solution action (instead of having to use the MSBuild action.) Let me know if you’d like me to post a download link.
For reference, the standard list of search paths which MSBuild/VS2005/VS2008 use to find assembly references looks something like this (in order):
- Files from the current project.
- ReferencePath property. A list of directories (as mentioned above.) This list is normally set under "Reference Paths" in Visual Studio, but can be overridden.
- HintPath for the referenced assembly (as mentioned above.)
- Framework Directory for the framework you're building against.
- Any directories found in the registry under HKEY_LOCAL_MACHINE\Software\Microsoft\.NETFramework\\AssemblyFoldersEx
We added a variety of the common MSBuild options to the Build VS.NET Solution action. If you need to supply any custom properties, there is an option for that as well. The help topic for the action should explain anything you need to know.