Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# TeamCity 8中的DotCover不';行不通_C#_Build_Nunit_Teamcity_Dotcover - Fatal编程技术网

C# TeamCity 8中的DotCover不';行不通

C# TeamCity 8中的DotCover不';行不通,c#,build,nunit,teamcity,dotcover,C#,Build,Nunit,Teamcity,Dotcover,作为构建步骤,我尝试在TeamCity 8中使用NUnit测试运行dotCover。但不管我尝试了什么,我总是在日志文件中得到相同的错误: 步骤4/4:覆盖范围(NUnit)(1s) [步骤4/4]开始:C:\TeamCity\buildAgent\plugins\dotnetPlugin\bin\JetBrains.BuildServer.NUnitLauncher.exe#TeamCityImplicit 目录C:\TeamCity\buildAgent\work\6aee0f0d26267

作为构建步骤,我尝试在TeamCity 8中使用NUnit测试运行dotCover。但不管我尝试了什么,我总是在日志文件中得到相同的错误:

步骤4/4:覆盖范围(NUnit)(1s)
[步骤4/4]开始:C:\TeamCity\buildAgent\plugins\dotnetPlugin\bin\JetBrains.BuildServer.NUnitLauncher.exe#TeamCityImplicit
目录C:\TeamCity\buildAgent\work\6aee0f0d2626793d中的[步骤4/4] [步骤4/4]##teamcity[导入数据类型='dotNetCoverage'工具='dotcover'文件='C:\teamcity\buildAgent\temp\buildTmp\coverage\U dotcover3226256377023598081.data']
[步骤4/4]使用“dotNetCoverage”处理器从“C:\TeamCity\buildAgent\temp\buildTmp\coverage\u DotCover32226256377023598081.data”导入数据
[步骤4/4]拒绝的覆盖率报告文件:C:\TeamCity\buildAgent\temp\buildTmp\coverage\u dotcover3226256377023598081。数据大小:0。文件为空或不存在
[步骤4/4]进程退出,代码为-2146232576
[步骤4/4]步骤覆盖(NUnit)失败

我尝试使用TeamCity dotCover中包含的和单独安装的,但都失败了,出现了相同的错误

我的配置:

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


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

这可能是因为您在没有.NET 3.5(但有4.0)的构建代理上运行此程序。这很容易检查,因为在这个代理上运行dotCover.exe之后,您将得到异常。安装.NET 3.5(如果是最新的Windows,则使用服务器管理器)

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

它解决了我的问题。

请查看:

对于内部TeamCity DotCover,您必须将“所有应用程序包”的读取访问权限添加到TeamCity安装文件夹中。如果使用外部DotCover,请在此处添加权限


现在,这为我纠正了这个问题。

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


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

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


我通过在配置下拉列表中将.NET Runtime:Platform:设置为x86解决了这个问题,我认为错误是由于team city无法确定哪个平台是正确的。

只是澄清一下,我的TeamCity版本是TeamCity Enterprise 8.0 EAP(build 27147),是的,我看到了这个页面:但是它说状态是固定的。你能给我们发送Dotcolve的日志文件(给daria)吗。dovzhikova@jetbrains.com还是?为此,请完成以下步骤:-添加值为“%system.teamcity.build.tempDir%/dotCoverLogs”的配置参数“teamcity.agent.dotCover.log”-运行构建-转到构建工件,选择“显示隐藏工件”和find.teamcity/.NETCoverage/dotCoverLogs.zipAre您确定您的测试正在执行吗?我通常将dotCover Home的路径留空?我遇到了一个稍微相关的问题,当我尝试使用dotCover Home属性的路径时,我根本无法运行构建!请注意,这适用于TeamCity二进制安装文件夹,如果您未使用
程序文件(x86)
@ByronRoss,我们如何知道哪个文件夹是TeamCity的文件夹?我只有一个这样的名字,但它在根目录中(即c:\teamcity)。我让用户系统做各种事情(没有找到任何称为“所有应用程序包”的东西,即-读、写和其他东西。没有用。还能做什么?你禁用了哪些项目?测试?@KonradViltersten,我只是禁用了代码覆盖率,即我在.NET覆盖率工具下拉列表中选择了。我们在谈论哪个版本的TC?