用途:为 Windows 桌面应用提供按上下文选择的迁移指导,涵盖 WPF .NET Framework 到 .NET 8+、WPF 到 WinUI 3(仅 Windows 现代化)、WPF 到 Uno Platform(跨平台)、WinForms .NET Framework 到 .NET 8+、UWP 到 WinUI 3、UWP 到 Uno Platform,以及依据项目约束选择迁移目标的决策矩阵。版本基线为 .NET 8.0+(当前 LTS),自动化迁移使用 dotnet-upgrade-assistant,.NET 9 特性会明确标注。
主要能力:提供迁移路径总览表(当前框架、目标框架、工作量、风险、适用时机);WPF/WinForms 到 .NET 8+ 的低风险迁移流程,包括 .csproj 转 SDK 风格、packages.config 转 PackageReference、TFM 改为 net8.0-windows、AssemblyInfo.cs 属性迁移、常见 API 替换;API 兼容性对照(如 BitmapEffect 已移除、XPS 与语音合成需加 NuGet 包);NuGet 包更新与替换建议;破坏性变更清单(高 DPI 默认 PerMonitorV2、可空引用类型、隐式 using、AssemblyLoadContext 替代 AppDomain、GC 行为变化)。
WPF 到 WinUI 3:适用于仅 Windows、需要 Fluent Design、触控/笔输入或 Windows 11 集成,属于部分重写,XAML 概念可迁移但 API 与命名空间不同,需将 {Binding} 改为 {x:Bind},ContextMenu 改为 MenuFlyout 等。WPF 到 Uno Platform:适用于需要跨平台,采用 WinUI XAML API 面,可用 Uno Extensions 替代导航、DI、配置、HTTP、序列化等常见模式。UWP 到 WinUI 3:主要工作是命名空间从 Windows.UI.* 改为 Microsoft.UI.*,并处理应用生命周期、窗口管理、Dispatcher、后台任务、文件访问等差异。UWP 到 Uno Platform:跨平台路径,XAML 改动较少,但 Windows 专有 API 需条件编译或抽象。
使用方式:安装并运行升级助手,例如 dotnet tool install -g upgrade-assistant、upgrade-assistant analyze MyWpfApp.sln、upgrade-assistant upgrade MyWpfApp.sln;更新包可用 dotnet list package --outdated 与 dotnet add package。
适用场景与限制:适合需要规划或执行桌面应用迁移的开发者。范围外内容(如各框架的日常开发模式、框架选择决策树、桌面测试)需参考其他技能。资料未提供具体收费、价格与效果数据。