SuperAPI AI 工具集

convert-to-cpm

通用与其它

查看项目

更新于 10-16 00:04

技能介绍

用途:把 .NET 项目的包版本集中到 Directory.Packages.props,实现 NuGet 中央包管理(CPM),并在转换过程中保留原有行为、产出可复核的前后证据。

主要能力:支持项目、解决方案或目录三种范围;先做守卫检测(若发现 packages.config 则停止并建议先迁移到 PackageReference);按 CPM 管理范围分组,在共同祖先放置 Directory.Packages.props;生成基线构建与包快照,审计包 ID、版本冲突、MSBuild 属性版本、条件 PackageReference、导入文件与 VersionOverride;创建或更新中央包文件并移除项目中的 Version;转换后再次构建并比对新旧解析包;输出报告与每个目标的四份证据文件。

使用方式:该技能区分三种模式——守卫模式(仅检测并停止)、包维护模式(只做版本更新对齐,不进入 CPM 转换)、转换模式(用户明确要求启用 CPM 时执行)。执行前需明确范围;存在版本冲突且用户未给出策略时应先审计并询问。命令在能确定 global.json 的目录下运行。

适用场景:从分散的 PackageReference 版本迁移到 CPM,统一多项目版本策略,并希望得到可审查的转换记录。

限制:要求项目已使用 PackageReference;不默认执行大范围 outdated/deprecated 扫描,也不在转换中升级到范围外更高版本;环境类失败只报告不修改机器;冲突未解决前不得编辑文件。具体命令语法和报告模板等细节参见其参考文档。