用途:为 GitHub Actions 中的 .NET 构建与测试提供工作流模式,覆盖 SDK 安装、依赖缓存、测试结果发布、覆盖率上传、多目标框架矩阵与测试分片。
主要能力:使用 actions/setup-dotnet@v4 安装单个或多个 SDK 版本(首个版本为默认),支持通过 global-json-file 读取 global.json 固定版本;通过 source-url 与 NUGET_AUTH_TOKEN 配置私有 NuGet 源认证,也可用 dotnet nuget add source 添加多个源(Linux 需 --store-password-in-clear-text)。缓存方面可用 actions/cache@v4 缓存 ~/.nuget/packages,或使用 setup-dotnet 内置 cache 配合 packages.lock.json。测试结果可用 dorny/test-reporter@v1 或 EnricoMi/publish-unit-test-result-action@v2 发布 TRX;覆盖率可上传 Codecov、Coveralls,或用 ReportGenerator 生成报告并作为 artifact 上传。多 TFM 可用矩阵(如 net8.0、net9.0)或一次安装全部 SDK;大型项目可按测试项目或 --filter 分片并行。
使用方式:在 workflow 中按需组合上述步骤,测试步骤设 continue-on-error: true,报告步骤设 if: always(),报告器设 fail-on-error: true。多行 bash 建议加 set -euo pipefail。
限制:不包含入门 CI 模板、测试架构策略、基准回归检测、发布部署、Azure DevOps 流水线及可复用工作流模式,这些由其他技能覆盖。覆盖率需显式加 --collect:"XPlat Code Coverage";缺少对应 SDK 会报 NETSDK1045;缓存键应含 runner.os;凭据须用 secrets 引用。