I'm using TeamCity 3.0 to run unit tests (of the NUnit flavor) in my .NET assemblies. Some of these assemblies are referencing the XNA runtime, which only works in x86 (32-bit) processes.
Now the JIT compiler in .NET has the habit of compiling assemblies to the native platform, which for Windows Vista x64 happens to be 64-bit machine code.
As a result, when my Build Agent on Windows Vista x64 tries to run a unit test, JetBrains.BuildServer.NUnitLauncher2.0.exe will get executed as a 64-bit process, loads my assembly in 64-bits mode and then fails each and every unit test because the XNA runtime (x86-only) cannot be loaded.
I'm discussing this in the forums because I can't think of an elegant solution, either on the TeamCity side or in my build scripts.