首页 文章

MS Build不在Build Server上编译MS Test Project

提问于
浏览
7

我正在使用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 回答

  • 7

    问题出在你的测试项目中 . 您正在引用一些尚未部署到Build Server的程序集 . 您也不能通过简单地复制并粘贴到GAC或工作目录来实现 .

    最好和最简单的方法是在构建服务器中安装Visual studio 2010 Agents . 它是免费的,可以从MS网站下载 . 通过安装代理,它将安装所有必需的库,用于编译甚至运行MSTest项目 .

  • 2

    您可以检查是否使用了正确的MSBuild . 在我的情况下,当我收到如下消息时:

    'TestMethod' could not be found
    

    我们必须确保我们正在运行正确的MSBuild版本 .

    C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe your_solution.sln /t:rebuild /t:Rebuild  /clp:ErrorsOnly
    

    这也修复了 Microsoft.VisualStudio.QualityTools.UnitTestFramework .dll的一些问题

  • 0

    你的标签提到了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不会帮助您 .

相关问题