Msbuild dotCover未生成所有程序集的覆盖率

Msbuild dotCover未生成所有程序集的覆盖率,msbuild,continuous-integration,resharper,tfsbuild,dotcover,Msbuild,Continuous Integration,Resharper,Tfsbuild,Dotcover,我已将dotCover设置为使用.xml运行 <?xml version="1.0" encoding="utf-8"?> <CoverageParams> <TargetExecutable> c:\dotcover\xunit\xunit.console.exe </TargetExecutable> <TargetArguments> "INWK.Configuration.UnitTests.dll"

我已将dotCover设置为使用.xml运行

<?xml version="1.0" encoding="utf-8"?>
<CoverageParams>
  <TargetExecutable>
    c:\dotcover\xunit\xunit.console.exe
  </TargetExecutable>
  <TargetArguments>
    "INWK.Configuration.UnitTests.dll"
  </TargetArguments>
  <TargetWorkingDir>
    ..\bin\x64\Debug\
  </TargetWorkingDir>
  <TempDir>
    <!-- Directory for auxiliary files. Set to the system temp by default. -->
  </TempDir>
  <Output>
    dotCover-xunit.dcvr
  </Output>
  <InheritConsole>
    <!-- [True|False] Lets the application being analyzed to inherit dotCover console. True by default. -->
  </InheritConsole>
</CoverageParams>

c:\dotcover\xunit\xunit.console.exe
“INWK.Configuration.UnitTests.dll”
..\bin\x64\Debug\
dotCover-xunit.dcvr
您可以看到(测试覆盖率报告中正确包含的服务、共享和单元测试程序集)(共享、服务和单元测试程序集)

但是,在生成服务器上运行相同的时,会丢失*服务和*共享

在将Service.dll和Shared.dll及其“pdb”从本地副本替换到生成服务器并在生成服务器上再次运行dotCover后,它可以正常工作

这使我相信,在本地运行build时,build server runner与VS中的msbuild.exe有所不同

我在这里发现了非常类似的问题描述:环境,但不确定如何在构建服务器配置中解决此问题

跟踪日志输出(一个驱动器) 找到了解决方案: 在我的dotcover配置xml中,我必须添加:-noshadow开关,如下所示:

<CoverageParams>
  <TargetExecutable>
    c:\dotcover\xunit\xunit.console.exe
  </TargetExecutable>
  <TargetArguments>
    "INWK.OrderIndexing.UnitTests.dll" -noshadow
  </TargetArguments>
  <TargetWorkingDir>
    ..\bin\x64\Release\
  </TargetWorkingDir>
...

c:\dotcover\xunit\xunit.console.exe
“INWK.OrderIndexing.UnitTests.dll”-noshadow
..\bin\x64\Release\
...
现在,所有程序集(除了我确实要筛选的程序集)都显示出来了