SuperAPI AI 工具集

msbuild-modernization

编程与开发

查看项目

更新于 10-16 06:47

技能介绍

用途:指导把旧式(legacy)MSBuild 项目文件迁移为 SDK 风格格式,适用于 .csproj/.vbproj 的现代化改造。

主要能力:识别旧式与 SDK 风格项目的特征(如 ToolsVersion、xmlns、显式 Compile 包含、packages.config、AssemblyInfo.cs 等);提供分步迁移清单:替换项目根元素为 <Project Sdk="Microsoft.NET.Sdk">、将 TargetFrameworkVersion 映射为 TargetFramework(如 v4.7.2→net472)、删除显式文件包含、移除 AssemblyInfo.cs 并改用属性、将 packages.config 迁移为 PackageReference、删除冗余样板(SDK 导入、默认配置、框架引用等);还涉及多目标(TargetFrameworks)、WPF/WinForms、测试项目、中央包管理(Directory.Packages.props)与 Directory.Build.props/targets 合并。

使用方式:可按清单手动迁移,或使用工具:dotnet tool install -g try-convert 做首轮转换,dotnet tool install -g upgrade-assistant 做完整迁移,Visual Studio 中右键 packages.config 选择 Migrate packages.config to PackageReference。迁移后建议启用 <Nullable>enable</Nullable> 与 <ImplicitUsings>enable</ImplicitUsings>;避免使用 <LangVersion>latest</LangVersion>,可用 global.json 固定 SDK 版本或设置显式数值版本。

适用场景:将旧式类库、控制台、WPF/WinForms、测试项目迁移到 SDK 风格,并统一多项目解决方案的包版本与共享属性。

限制:资料未提供具体收费、价格、平台支持范围或迁移效果保证;部分特殊文件(嵌入式资源、需 CopyToOutputDirectory 的内容、项目目录外文件)仍需显式包含。