You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Coverlet MSBuild /p:Exclude无法排除第三方DLL求解决方案

解决coverlet.msbuild中/p:Exclude参数无效的问题

核心问题定位

你混用了coverlet两种集成方式的配置参数,导致Exclude规则不生效。coverlet.msbuild(MSBuild集成)仅支持/p:前缀的MSBuild参数配置,而你命令中混用的-e:前缀是coverlet.collector(VSTest集成)的环境变量配置方式,两者冲突会导致配置失效。

正确的单个程序集排除命令

以排除DocoptNet为例,修正后的命令如下:

dotnet test path.csproj /p:CollectCoverage=true /p:Exclude="[DocoptNet]*" /p:CoverletOutputFormat="cobertura,json,opencover,lcov" /p:CoverletOutput="TestResults"

排除多个第三方程序集的方法

用**分号;**分隔多个排除规则,将你需要排除的所有程序集规则依次加入:

dotnet test path.csproj /p:CollectCoverage=true /p:Exclude="[DocoptNet]*;[HtmlAgilityPack]*;[Metrics.InfluxDB]*;[Microsoft.Practices.ObjectBuilder2]*;[Microsoft.Practices.Unity.Configuration]*;[Microsoft.Practices.Unity]*;[Replicon.Cryptography.SCrypt]*" /p:CoverletOutputFormat="cobertura,json,opencover,lcov" /p:CoverletOutput="TestResults"

关键注意事项

  • 规则格式:必须使用[程序集名称]*的格式,程序集名称取你覆盖率报告中显示的名称(无需加.dll后缀),你提供的表格中的名称完全正确,可直接使用。
  • 引号适配:在Windows Cmd中直接用双引号包裹规则;若使用PowerShell,需改用单引号包裹(如/p:Exclude='[DocoptNet]*'),避免PowerShell解析括号导致规则异常。
  • 配置统一:全程使用/p:前缀的MSBuild参数,不要混合-e:环境变量参数,两者属于不同集成体系,无法兼容。

内容的提问来源于stack exchange,提问作者Tejas Patel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 19:17:53