SuperAPI AI 工具集

msbuild-modernization

通用与其它

查看项目

更新于 10-16 00:05

技能介绍

用途:指导把旧式 .csproj/.vbproj(冗长 XML)迁移为 SDK 风格项目文件,并整理多项目共享配置。

主要能力:识别旧式与 SDK 风格项目(旧式特征如 ToolsVersion、xmlns、显式 Compile Include、packages.config、Properties\AssemblyInfo.cs;SDK 风格特征如 <Project Sdk="Microsoft.NET.Sdk">、隐式通配、PackageReference)。迁移清单包括:替换项目根元素并删除 XML 声明、ToolsVersion、xmlns 与两个 Import;把 TargetFrameworkVersion 映射为 TargetFramework(如 v4.7.2→net472);删除显式 Compile/Content 项;删除 AssemblyInfo.cs 并把程序集属性移入 csproj(或设 GenerateAssemblyInfo=false);packages.config 转 PackageReference;删除 SDK 已提供的样板(默认 Configuration/Platform、标准 Debug/Release、框架程序集引用等);启用 Nullable、ImplicitUsings。还涉及多目标(TargetFrameworks)、WPF/WinForms、测试项目、集中包管理(Directory.Packages.props 与 ManagePackageVersionsCentrally)以及 Directory.Build.props/targets 合并共享属性。

使用方式:可手动按清单迁移,或用工具:dotnet tool install -g try-convert、dotnet tool install -g upgrade-assistant,Visual Studio 可右键 packages.config 选择迁移。建议先跑 try-convert,再人工清理、构建修复、启用现代特性并合并共享设置。

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