I am using Teamcity 4.5 on a Windows Server 2003 32Bit host. The TC server is on that machine as well as a build agent. On a second machine (Windows Server 2003 32Bit as well), I have installed a TC build agent only. Both of these machines are VMs (VMWare ESX3.5). Both of these machines also have MS Visual Studio 2005 (full install minus SQL server). I am using Subversion (server / repo version 1.4.6) for the repository.
I have a couple of projects, let's say Project A and Project B. Projects A, and B have multiple configurations: Debug, Debug MT, Release, Release MT (MT = multi-threaded).
Project A depends on Project B. I have set up the snapshot dependencies in the "Dependencies" tab to reflect this on a per configuration level (Project A, Configuration Release depends on Project B Configuration Release, etc).
Projects A, and B are both VS2005 solution file based. I have enabled both build agents to build VS2005 solution files. The build runner for each project is sln2005.
All projects are checked out from Subversion.
Here is my problem.
I go to manually run (not triggered by VCS) all 4 configurations at the same time in Project B (which depends on nothing). Two of the configs (let's say Release and Release MT) run on build Agent #1 and the other two (Debug and Debug MT) run on build Agent #2. Build Agent #1 builds the Release and Release MT configs for Project B and produces the binaries (which are also stored on Agent #1) for those two configs. Build Agent #2 builds the Debug and Debug MT configs for Project B and likewise produces and stores the binaries for those configs on Agent #2.
When I go and run Project A (which depends on Project B) in the Release configuration on build Agent #2 (remember the Release config for Project B does not exist on Agent #2), Teamcity does not build the Release config of Project B on Agent #2 which causes Project A to fail.
I've also noticed that if Project B doesn't exist at all on Agent #2 and I run Project A on Agent #2 that Teamcity does not automatically checkout Project A from Subversion and build it. But, I can force Project B to run on Agent #2 and then things work fine.
Am I doing something wrong here? What is the behavior supposed to be when you create a snapshot dependency between two projects?
Thanks for any help you can give!