I was setting up a continuous integration for one project. I have configured a build step in TeamCity to build the solution and another to execute unit tests using MSTest. And that failed – the reason was Visual Studio was not installed on that machine. I googled around and found some useful posts:
- MSTest 2010 on the build server without VS2010 installed
- MSTest 2010 on the build server without VS2010 installed – again
The key components for running tests are
QTAgent.exe. So I copied all the files to desired locations, I didn’t added the DLLs to GAC, opened command line and executed
MSTest.exe and …
… an exception!
Could not load file or assembly xxx.dll
So I found that DLL on my computer and copied it to directory with
MSTest.exe, then fired
MSTest.exe and another assembly load exception and again and again.
Because I could I installed VS.NET 2012 on that machine just to avoid this eternal cycle.
For those who can’t I used Fusion Log Viewer (
fuslogvw) to log all assembly bindings to disk and then analyzed the files in LinqPad to get the list of loaded DLLs and their locations. See the attached file (some of the binded DLLs might be required by the tested project).
Hope this will help someone.