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

Visual studio 2010 在Team Build 2008上构建.NET 4应用程序时缺少代码覆盖率,visual-studio-2010,testing,tfs,tfsbuild,Visual Studio 2010,Testing,Tfs,Tfsbuild,我正在TFS2008构建代理上构建VS2010解决方案,并安装了VS2010 Ultimate;代码编译得很好,测试也运行得很好,但是当涉及到代码覆盖率时,没有报告任何内容。我已经检查了.testsettings文件是否启用了代码覆盖率,并且我已经选择了一些要插入的程序集,如果我在我的开发人员PC上本地运行测试,代码覆盖率将得到分析并成功报告 但是,在构建服务器上构建时,不会报告代码覆盖率。我可以看到一个data.coverage文件位于生成的TestResults\guid\in\Machin

我正在TFS2008构建代理上构建VS2010解决方案,并安装了VS2010 Ultimate;代码编译得很好,测试也运行得很好,但是当涉及到代码覆盖率时,没有报告任何内容。我已经检查了.testsettings文件是否启用了代码覆盖率,并且我已经选择了一些要插入的程序集,如果我在我的开发人员PC上本地运行测试,代码覆盖率将得到分析并成功报告

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

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

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

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

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

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


然而,我可以清楚地看到文件系统中的文件,以及它的PDB

检查符号文件和程序集上的文件时间戳是否基本相同。他们不应该离开超过一秒钟(最多两秒钟)。如果是,则可能是您在多个位置构建
Core.dll
,而只有一个位置正在创建符号文件


这可能需要很长时间,但可能是一个很好的起点。

使用TFS 2008和.Net 4代码无法覆盖代码。您必须升级到tfs 2010。

时间戳与第二个匹配:-(嗯,我想这是一个长镜头。对不起。