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

Asi*_*sif 7 msbuild tfs2008 visual-studio-2010

我正在使用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):错误CS0246:类型或命名空间名称'TestContext'可以找不到(你是否缺少using指令或程序集引用?)UnitTest1.cs(62,10):错误CS0246:找不到类型或命名空间名称'TestMethod'(你是否缺少using指令或程序集引用?)UnitTest1.cs(62,10):错误CS0246:找不到类型或命名空间名称'TestMethodAttribute'(您是否缺少using指令或程序集引用?)UnitTest1.cs(12,6):error CS0246:找不到类型或命名空间名称'TestClass'(您是否缺少using指令或程序集引用?)UnitTest1.cs(12,6):error CS 0246:找不到类型或命名空间名称'TestClassAttribute'(您是否缺少using指令或程序集引用?)完成执行任务"Csc" - FAILED.

我在构建服务器上安装了VS 2010,但仍然出现相同的错误.

小智 7

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

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


Jun*_*r M 2

您可以检查您是否使用了正确的 MSBuild。就我而言,当我收到以下消息时:

'TestMethod' could not be found
Run Code Online (Sandbox Code Playgroud)

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

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe your_solution.sln /t:rebuild /t:Rebuild  /clp:ErrorsOnly
Run Code Online (Sandbox Code Playgroud)

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