0
votes

In my project collection, I made a separate project just containing Third - Party Dlls. These Dlls are referenced by other project solutions. Local build of all the project solutions works fine by referencing these dlls in the local folder where the Third-Party project maps to.

But, it is creating problems on the TFS Build Server as it creates extra folder(s) before making the build. Hence reference path of Third party dlls inside the project breaks. What would be good way to handle the issue for builds on Build Server?

1
You can use builds workspace mappings to create similar structure to that of your local machine, but as Jason states this should be handled by making your solution mappings more generic. Do you have any specific reasoning why you need to put them in seperate team project, a folder under your branch will be more than enough in most cases.drk

1 Answers

1
votes

To support team editing and build servers you really need to make your codebase relocatable. That is, all references need to use relative paths (....\SomeFolder\SomeFile.txt) rather than absolute paths (C:\MyCode\SomeFolder\SomeFile.txt).

This will allow another programmer (or a build server) to map the code to a different hard drive or folder path and still be able to correctly compile the code.

So you need to store your pre-built 3rd-party dlls in a folder that is alwas tored in the same place relative to your solution, and then make sure that any references to those files (references, build event scripts, etc) use solution-relative paths.