unit testing项目不是从构建服务器构建的

我的VS2010解决方案中有一个测试项目。 unit testing自己引用以下命名空间:

using Microsoft.VisualStudio.TestTools.UnitTesting; 

通过我的PC上的以下程序集访问:

 Assembly Microsoft.VisualStudio.QualityTools.UnitTestFramework C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ PublicAssemblies\Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll 

当我在我的PC上构建解决方案时,我没有任何问题; 测试将构建并运行正常。

我们有一个内部网页面,我们可以用它来启动构建服务器上的构建。 当我通过此页面构建时,构建失败并出现以下错误:

 Generator.cs(3,17): error CS0234: The type or namespace name 'VisualStudio' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?) 

显而易见的问题是上面提到的Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll在构建服务器上不存在。 我认为这将与VS2010一起安装,并且由于我的解决方案中的项目构建了.NET 4.0目标,我希望这将安装在构建服务器上。

解决这个问题的最简单方法是什么? 构建服务器不在我的管辖范围内,我并不特别想记录一个作业来安装新的库。

.UnitTestFramework.dll位于C:\ Program Files …文件夹中,您可以参考它。

  1. 在源代码管理下创建目录,例如。 源/二进制文件
  2. 将所述dll复制到Source / Binaries中
  3. 从unit testing程序集中删除对.UnitTestFramework.dll的引用
  4. 将.UnitTestFramework.dll的引用添加到unit testing程序集中,但这次选择现在位于Source / Binaries下的dll

之后,您可以检查您的更改(确保已签入Source / Binaries文件夹)并构建解决方案。 当构建服务器构建解决方案时,它应该从源代码控制获取dll。

我和Visual Studio 2010解决方案的具体答案是:

  1. 从Visual Studio Agents 2010安装“Test Agent 2010”
  2. 重启Windows
  3. 安装Visual Studio 2010 Service Pack 1
  4. 重启Windows
  5. 确保项目引用更新为指向“Microsoft.VisualStudio.QualityTools.UnitTestFramework”“10.1.0.0”而不是“10.0.0.0”。