Msbuild 使用TeamCity 9.1.3,如何使用参数从nunitlauncher调用dotCover?

Msbuild 使用TeamCity 9.1.3,如何使用参数从nunitlauncher调用dotCover?,msbuild,nunit,teamcity,dotcover,Msbuild,Nunit,Teamcity,Dotcover,我已经设置了一个带有多个目标的MSBuild文件 在我呼叫的目标之一 <Exec Command="$(teamcity_dotnet_nunitlauncher) v4.0 X86 NUnit-2.5.9 @(UnitTestDlls)"/> 其中,@(UnitTestDlls)是一组项目,其中包含我要进行单元测试的DLL。我这样做是因为从web界面我无法动态地构建DLL到单元测试的列表 无论如何,这是工作良好,但现在我想添加覆盖率分析与DotCover 过去,我们使用Par

我已经设置了一个带有多个目标的MSBuild文件

在我呼叫的目标之一

<Exec Command="$(teamcity_dotnet_nunitlauncher) v4.0 X86 NUnit-2.5.9 @(UnitTestDlls)"/>

其中,@(UnitTestDlls)是一组项目,其中包含我要进行单元测试的DLL。我这样做是因为从web界面我无法动态地构建DLL到单元测试的列表

无论如何,这是工作良好,但现在我想添加覆盖率分析与DotCover

过去,我们使用PartCover的方式如下:

<Exec Command="$(teamcity_dotnet_nunitlauncher) v4.0 X86 NUnit-2.5.9 @(UnitTestDlls) 
               /partcover:%22$(PartCoverConsole)%22 /partcover-arguments:%22--register 
               --output $(PartCoverXmlOutputFile) --include [*]* --exclude [Accessibility]* 
               --exclude [*]Microsoft* --exclude [*test*]* --exclude [*Test*]* --exclude [*JetBrains*]*
               --exclude [*nunit*]* --exclude [*log4net*]*
               @(ExternalLibraries-&gt;'--exclude [%(Filename)]* ','')%22"/>

而且效果很好


我尝试将/partcover参数更改为/dotcover,但似乎启动器不支持dotcover参数

应将dotCover.exe指定为可执行文件,并将NUnitLauncher作为目标可执行参数传递给dotCover

<Exec Command="[path_to_dotCover]\dotCover.exe cover /TargetExecutable=&quot;$(teamcity_dotnet_nunitlauncher)&quot; /TargetArguments=&quot;v4.0 X64 NUnit-2.5.9 @(UnitTestDlls)&quot; /Output=&quot;[path_to_workdir]\[snapshot_name].dcvr&quot;" WorkingDirectory="[path_to_workdir]"/>