用途:校验 release-notes/ 中的 .NET 发布数据,确保下载链接、哈希、CDN 版本文件与 aka.ms 跳转均正确,适合发布签核前的验证。
主要能力:检查每个受支持版本最新补丁的下载 URL 存活(HTTP HEAD);下载二进制并比对 releases.json 中的 SHA512;抓取 SDK、Runtime、ASP.NET Core Runtime 的 CDN latest.version 并与 releases.json 比较;跟随 aka.ms 短链确认跳转到正确下载地址。
使用方式:先安装工具(需 GitHub Packages 认证,401 时配置凭据): dotnet tool install -g release-notes --add-source https://nuget.pkg.github.com/richlander/index.json 运行 release-notes 确认用法输出含 verify releases,否则用 dotnet tool update 更新。 全量校验(含哈希,耗时数分钟):release-notes verify releases release-notes 快速校验(跳过哈希,通常 30 秒内):release-notes verify releases release-notes --skip-hash 指定大版本:release-notes verify releases 10.0 release-notes 指定补丁版本:release-notes verify releases 10.0.5 release-notes 退出码 0 表示全部通过,2 表示发现问题并在 stdout 输出 Markdown 报告。
适用场景:发布签核、开发期快速检查、排查 URL/哈希/CDN/短链问题。
限制与注意:哈希校验会下载大量二进制,切勿提前取消,全量哈希校验超时至少设 10 分钟;仅用 --skip-hash 不足以用于发布签核;需在仓库根目录运行;GitHub Packages 即使公开仓库也需认证。验证后可用 release-notes generate releases-index release-notes 与 release-notes generate releases release-notes 重新生成索引和 Markdown,并用 npx markdownlint --config .github/linters/.markdown-lint.yml release-notes/releases.md 检查。