TeamCity 8中的DotCover不起作用

我尝试使用我的NUnit测试运行dotCover,在TeamCity 8中作为构建步骤。 但是没有遇到我尝试的东西我总是在日志文件中得到相同的错误:

步骤4/4:覆盖范围(NUnit)(1s)
[步骤4/4]开始:C:\ TeamCity \ buildAgent \ plugins \ dotnetPlugin \ bin \ JetBrains.BuildServer.NUnitLauncher.exe #TeamCityImplicit
目录中的[步骤4/4]:C:\ TeamCity \ buildAgent \ work \ 6aee0f0d2626793d
[步骤4/4] ## teamcity [importData type =’dotNetCoverage’tool =’dotcover’file =’C:\ TeamCity \ buildAgent \ temp \ buildTmp \ coverage_dotcover3226256377023598081.data’]
[步骤4/4]使用’dotNetCoverage’处理器从’C:\ TeamCity \ buildAgent \ temp \ buildTmp \ coverage_dotcover3226256377023598081.data’导入数据
[步骤4/4]拒绝的覆盖率报告文件:C:\ TeamCity \ buildAgent \ temp \ buildTmp \ coverage_dotcover3226256377023598081.data size:0。文件为空或不存在
[步骤4/4]进程退出,代码为-2146232576
[步骤4/4]步骤覆盖(NUnit)失败

我曾尝试使用TeamCity dotCover中包含的内容和单独安装的dotCover,但两者都失败并出现相同的错误。

我的配置:

NUnit测试+覆盖配置

如果我选择无覆盖工具,那么测试本身就可以正常工作。 但是选择dotCover后,我总会得到同样的错误。

这里的任何帮助将不胜感激。

查看: http : //confluence.jetbrains.com/pages/viewpage.action?pageId = 49448495

对于内部TeamCity DotCover,您必须将“ALL APPLICATION PACKAGES”读取访问权限添加到TeamCity安装文件夹。 如果使用外部DotCover,请在那里添加权限。

这暂时为我纠正了这个问题。

这可能是因为你在没有.NET 3.5的构建代理上运行它(但是使用4.0)。 它很容易检查,因为在此代理上运行dotCover.exe后会出现exception。 安装.NET 3.5(在最新Windows的情况下使用服务器管理器)。

接下来是TeamCity 8中有dotCover的另一个错误。您需要使用试用dotCover安装,直到他们修复它(并将安装的dotCover的路径放入构建步骤配置)。

它解决了我的问题。

有趣的是,至少对我来说,一旦我禁用代码覆盖率(即在.NET Coverage工具下拉列表中未选择项目)并运行构建,它对我有用。 当我重新启用代码覆盖时,它可以工作(在TeamCity或构建服务器上没有任何其他更改)。 奇怪的!

我目前正在运行TeamCity版本8.0.4(版本27616)。

这与我的问题类似,当启用dotCover时,NUnit无法运行。

我通过在配置下拉列表中设置.NET Runtime:Platform: as x86来解决这个问题,我认为错误是由于团队城市未能找出哪个是正确的平台。