Hi everyone, I can appreciate this question involves a number of technologies and is not necessary a TeamCity related issue but I would really appreciate it if anyone here can spare a bit of brain time and see if they can help... I've tired everything and I'm at a complete loss.
Here is the scenario.....
I have a couple of .NET projects. One project for the main applications UI, one project for the applications calculations (a DLL), and one for the tests for the calculations (a DLL). The calculation project doesn't do much and is really just a .NET wrapper around an older Win32 DLL.
Everything is good with the project. A local build with Visual Studio and Resharper shows the code compiling and the tests passing fine.
To make the build more automated I write a rake build script. This script calls MsBuild to compile the project and Gallio.Echo to run the tests. Again everything is fine and life is good.
All this is done locally so I upload the script onto a Windows Server 2003 64 bit machine and then run rake.... it's all still fine. I'm happy.
Now I go into TeamCity and create a project to automated this build. I set up the source control and set up the Rake runner (only specifying the rake file to run).
I manually run the build and *pow* I get a failure in the tests..... a DLLNotFoundException, the Win32 DLL that being wrapped can't be found.
If I run the build script with rake, from the command line on the server, in the agents work folder - which should be very similar to what TeamCity would do - it all builds lovely... as soon as TeamCity runs it, it cannot find the Win32 DLL.
I've tried all sorts of things... changing the system path, moving the DLL to the Gallio folder, running the agents under different credentials, everything I do doesn't work.
Anyone have any suggestions, comments, ideas? anything at all... is it a TeamCity problem, a Gallio problem, a Ruby problem.... is anyone thinking anything?