用途:自动化更新 microsoft/aspire 仓库中的外部 NuGet 依赖。外部包无法直接从 nuget.org 用于内部构建,需先经 dotnet-migrate-package 流水线导入内部 Azure DevOps NuGet 源。
主要能力:识别请求中的包名、目标版本与范围;查询 nuget.org 最新稳定/预发布版本并生成对比表;评估变更风险;检查 Azure DevOps 前置条件;触发并轮询镜像流水线;更新 Directory.Packages.props 或 eng/Versions.props 中的版本;验证构建;汇总结果。支持单包、包族(如 Hex1b、Azure.Provisioning、OpenTelemetry、AspNetCore.HealthChecks、Grpc、Polly、Azure SDK、ModelContextProtocol)及批量更新流程。
使用方式:在 Directory.Packages.props 定位包;用 curl 查询 https://api.nuget.org/v3-flatcontainer/{package-id-lowercase}/index.json 获取版本;通过 ask_user 工具确认版本后,运行 dotnet .agents/skills/dependency-update/MigratePackage.cs -- "<PackageName>" "<PackageVersion>" 触发流水线;前置检查用 dotnet .agents/skills/dependency-update/MigratePackage.cs -- --check-prereqs;构建验证用 ./build.sh --build /p:SkipNativeBuild=true。批量更新可先改版本,临时加 nuget.org 验证还原,再移除并触发缺失包的镜像。
限制与注意:一次流水线只处理一个包,需等待完成;不要修改 NuGet.config;NU1109 与 NU1603 需人工审查;Microsoft.FluentUI.AspNetCore.Components 及其 Icons 不得自动更新;Spectre.Console 与 Milvus.Client 保持预发布;Azure.Monitor.OpenTelemetry.Exporter 暂留 1.5.0;Pomelo 保持 EF Core 9;Managed dependency flow 使用 Darc,Net10Version 属性为手工维护。部分资料在原文末尾被截断。