visual-studio-2010 - 在 Team Build 2008 上构建 .NET 4 应用程序时缺少代码覆盖率

标签 visual-studio-2010 testing tfs tfsbuild

我在安装了 VS2010 Ultimate 的 TFS2008 构建代理上构建 VS2010 解决方案;代码编译正常,测试都运行良好,但在代码覆盖率方面,没有任何报告。我检查过 .testsettings 文件是否启用了代码覆盖率,并且我已经选择了一些要检测的程序集,如果我在我的开发人员 PC 上本地运行测试,代码覆盖率会被成功分析和报告。

但是,当在构建服务器上构建时,不会报告代码覆盖率。我可以在构建的 TestResults\guid\In\MachineName 文件夹中看到一个 data.coverage 文件,所以它显然做了一些事情,但构建日志没有提及与代码覆盖有关的任何事情,也没有警告/错误。

更新:检查 TFS 服务器本身,应用程序日志包含以下错误:

代码覆盖分析服务无法分析构建 Daily Build>20100812.2(任何 CPU/DEBUG)的代码覆盖数据。这通常是由于将同一二进制文件的不同版本发布到特定构建而引起的。 处理来自运行 svcTFSService@W2411193 2010-08-12 12:52:34_Any CPU_Debug 的代码覆盖率数据导致抛出以下异常: 创建覆盖率信息时出错:加载符号文件时出错。符号和二进制文件应与覆盖文件位于同一文件夹中或位于符号路径中:D:\Source\CommonPlatform\Common Platform Development Daily Build\Binaries\Debug\Core.dll。

然而,当我查看指定文件夹中的构建代理时,程序集及其调试符号文件都在预期位置。

更新 2: 一时兴起,我尝试在构建代理上打开上面提到的 VS 2010 中的 data.coverage 文件,但出现以下错误:

代码覆盖率分析引擎抛出异常:找不到图像文件“D:\Source\CommonPlatform\Common Platform Development Daily Build\Binaries\Debug\Core.dll”。

但我可以清楚地看到文件系统中的文件及其 PDB。

最佳答案

您无法使用 TFS 2008 和 .Net 4 代码进行代码覆盖。你必须升级到 tfs 2010。 http://social.msdn.microsoft.com/Forums/en-US/tfsbuild/thread/39aaaf43-0e3a-41c7-8b72-c1cabc9438e1/

关于visual-studio-2010 - 在 Team Build 2008 上构建 .NET 4 应用程序时缺少代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3464402/

相关文章:

visual-studio-2010 - Visual Studio 2010 和 MSTest (C++/CLI) 的 GoogleMock 问题

c++ - 保留类名 Visual C++

ios - 我需要怎么做才能在其他 iPhone 上测试我的 iPhone 应用程序?

ios - 负载测试 iOS 应用程序的方法

TFS:从一台服务器移动到另一台服务器

tfs - 在TFS2012中,如何更改任务板中显示的内容?

c++ - Rapidxml 未在 Visual Studio 2010 上编译。我做错了什么?

c# - 使用 Visual Studio 2010 为较旧的 .net 框架创建

wordpress - 沙箱和 Wordpress、Joomla 或 Drupal 站点?

tfs - 如何从 Team Foundation Server 锁定文件?