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

如何在Azure DevOps流水线中排除Program.cs及指定文件夹的代码覆盖率

解决方案

你的问题出在错误使用了<Functions>节点——这个节点是用来排除特定函数/方法的,而非整个文件。要排除Program.cs和Migrations文件夹下的所有文件,需要改用<Sources>节点匹配源文件路径,结合通配符实现跨项目的通用排除规则。

修正后的CodeCoverage.runsettings文件

<?xml version="1.0" encoding="utf-8"?>
<RunSettings>
    <DataCollectionRunSettings>
        <DataCollectors>
            <DataCollector friendlyName="XPlat Code Coverage">
                <Configuration>
                    <!-- 排除指定源文件 -->
                    <Sources>
                        <Exclude>
                            <!-- 匹配任意目录下的Program.cs -->
                            <Source>**/Program.cs</Source>
                            <!-- 匹配任意目录下Migrations文件夹内的所有.cs文件 -->
                            <Source>**/Migrations/**/*.cs</Source>
                        </Exclude>
                    </Sources>
                    <!-- 若无需排除特定函数,可删除下方Functions节点 -->
                    <!-- <Functions>
                        <Exclude>
                            <Function>.*\.Program\..*</Function>
                            <Function>.*\.Migrations\.*\..*</Function>
                        </Exclude>
                    </Functions> -->
                </Configuration>
            </DataCollector>
        </DataCollectors>
    </DataCollectionRunSettings>
</RunSettings>

关键说明

  • **/Program.cs:通配符**匹配任意层级目录,确保所有项目中的Program.cs都被排除,无需指定具体命名空间或路径。
  • **/Migrations/**/*.cs:匹配任意目录下Migrations文件夹内的所有C#文件,覆盖所有项目的Migrations目录结构。
  • 你的Azure DevOps流水线配置无需修改,已正确通过--settings CodeCoverage.runsettings参数加载配置文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 23:32:03