我正在使用TFS 2008和VS 2010.在我的解决方案中添加MS Test项目后,我开始在Build服务器上收到以下错误 .
UnitTest1.cs(5,40):错误CS0234:命名空间“Microsoft.VisualStudio.TestTools”中不存在类型或命名空间名称“UnitTesting”(您是否缺少程序集引用?)UnitTest1.cs(22,17 ):错误CS0246:找不到类型或命名空间名称'TestContext'(您是否缺少using指令或程序集引用?)UnitTest1.cs(28,16):error CS0246:类型或命名空间名称'TestContext'找不到(你是否缺少using指令或程序集引用?)UnitTest1.cs(62,10):错误CS0246:找不到类型或命名空间名称'TestMethod'(你是否缺少using指令或者程序集引用?)UnitTest1.cs(62,10):错误CS0246:找不到类型或命名空间名称'TestMethodAttribute'(您是否缺少using指令或程序集引用?)UnitTest1.cs(12,6):错误CS0246:找不到类型或命名空间名称'TestClass'(您是否缺少using指令或程序集引用?)UnitTest1.cs(12,6):error CS0246:找不到类型或命名空间名称'TestClassAttribute'(您是否缺少using指令或程序集引用?)完成执行任务“Csc” - FAILED .
我在构建服务器上安装了VS 2010,但仍然存在相同的错误 .
3 回答
问题出在你的测试项目中 . 您正在引用一些尚未部署到Build Server的程序集 . 您也不能通过简单地复制并粘贴到GAC或工作目录来实现 .
最好和最简单的方法是在构建服务器中安装Visual studio 2010 Agents . 它是免费的,可以从MS网站下载 . 通过安装代理,它将安装所有必需的库,用于编译甚至运行MSTest项目 .
您可以检查是否使用了正确的MSBuild . 在我的情况下,当我收到如下消息时:
我们必须确保我们正在运行正确的MSBuild版本 .
这也修复了
Microsoft.VisualStudio.QualityTools.UnitTestFramework
.dll的一些问题你的标签提到了VS2010和TFS2008 . 默认情况下,单元测试项目设置为目标.NET 4.0,Team Build 2008将不知道如何处理这些项目 . 您应该将测试项目设置为目标.NET 3.5(只有在安装了VS2010 SP1时才能执行) . 或者将TFS 2008升级到TFS2010 .
如果要使用TFS 2008运行测试工具,还应在构建代理上安装Visual Studio Team Developer或Suite . Visual Studio 2010不会帮助您 .