views:

278

answers:

2

I have been working with setting up TeamCity, and I have almost everything working with the exception of being able to compile VS2005 solutions that have referenced assemblies that are outside of the solution path. I have our SVN repository structured as follows

    Root
        Libraries
        Project 1
            Trunk
        Project 2
            Trunk

Project 1 and Project 2 reference third party assemblies located in the Libraries. This works just fine from within the VS2005 IDE and when calling MSBuild on the solution files since the HintPath for all of the references look like this:

..\..\..\Libraries\ThirdParty.dll

The problem I have encountered is that when TeamCity dies the checkout from SVN for Project 1 or Project 2, it places everything into internal directories that don't match the structure of the relative path given by the HintPath.

How do I go about clearing this up, either through a TeamCity configuration or configuring my solutions/directory structure differently? Either one will work for my needs.

Thanks!

A: 

We set up a network directory with all our third party dlls. Then we mapped the directory to a drive.

That way the dlls weren't a part of our solutions and all projects just call z:\3rdParty\example.dll to get the assemblies.

Someone else on my team actually set up our teamcity, so I could be completely mistaken about how the problem was actually fixed or if we even had that problem initially :)

Gordon Tucker
Thanks Gordon. I would like to keep everything inside of the repository tree however, so I don't think your method is quite right for us.
DaveNay
+1  A: 

If you create a separate VCS root for Libraries, you can use checkout rules to control where the files are placed in the directory structure so that it matches the structure on your local machine.

Petter Wigle