I just added an automated test project to my C# solution and checked it into my build server.
When the build script runs using MSBuild (.NET Framework 3.5), it gives me several errors (such as the following):
**cs(2,17): error CS0234: The type or namespace name 'VisualStudio' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
**.cs(21,17): error CS0246: The type or namespace name 'TestContext' could not be found (are you missing a using directive or an assembly reference?)
**.cs(73,10): error CS0246: The type or namespace name 'TestMethod' could not be found (are you missing a using directive or an assembly reference?)
**.cs(73,10): error CS0246: The type or namespace name 'TestMethodAttribute' could not be found (are you missing a using directive or an assembly reference?)
**.cs(14,6): error CS0246: The type or namespace name 'TestClass' could not be found (are you missing a using directive or an assembly reference?)
**.cs(14,6): error CS0246: The type or namespace name 'TestClassAttribute' could not be found (are you missing a using directive or an assembly reference?)
When I run the .NET 3.5 msbuild on my computer, it builds correctly.
The build server does not have .NET 4.0 on it, and stepping it up is not an option. Can anyone suggest what could be causing the difference and what I can do to get the test project building successfully ?
Thanks
As stated above, the easiest thing to do is to install the appropriate version of Visual Studio on your build server to get all of the MSTest dependencies. This is what is typically done.
If for whatever reason you can't do that, the following page shows how to get your dependencies available without the VS2008 install:
http://www.shunra.com/shunrablog/index.php/2009/04/23/running-mstest-without-visual-studio/