从 UWP 迁移到 Windows 应用 SDK

如果对通用 Windows 平台 (UWP) 中的当前功能感到满意,则无需迁移项目类型。 WinUI 2.x 和 Windows SDK 支持 UWP 项目类型。

但是,如果已决定将应用从 UWP 迁移到 Windows 应用 SDK,则在大多数情况下,UI 代码只需要更改几个命名空间。 大部分平台代码都可以保持不变。 由于 UWP 应用与桌面应用之间的差异,你将需要调整一些代码。 但是,我们预计,对于大多数应用而言(当然,这取决于代码库大小),迁移将按天数而不是周数的顺序进行。

概括而言,这些步骤是手动迁移的步骤(但有关使用 .NET 升级助手工具的信息,请参阅下一部分):

  1. 创建新的 WinUI 3 打包桌面项目(参阅创建你的第一个 WinUI 3 项目)。 这可能进入现有解决方案。
  2. 复制 XAML/UI 代码。 在许多情况下,只需更改命名空间(例如,将 Windows.UI.* 更改为 Microsoft.UI.*)。
  3. 复制应用逻辑代码。 某些 API 需要调整,例如 Popup、Picker 和 SecondaryTile。

有关更多详情,请参阅下表中的主题。 其介绍和演示如何将通用 Windows 平台 (UWP) 应用程序手动迁移到 Windows 应用 SDK。

请特别注意从 UWP 迁移到 WinUI 3 时支持的功能。 本主题介绍 WinUI 3 和 Windows 应用 SDK 尚不支持的任何功能。 如果应用需要这些功能/库中的任何一个,请考虑等待迁移。

使用 .NET 升级助手工具进行迁移

作为你将 UWP 应用迁移到 Windows 应用 SDK 和 WinUI 3 的进一步辅助,我们利用了 .NET 升级助手,添加了对迁移 C# UWP 应用的支持。 UWP 支持自动执行大部分迁移过程。 有关详细信息,请参阅主题使用 .NET 升级助手从 UWP 迁移到 Windows 应用 SDK

本部分中的主题

主题 说明
总体迁移策略 执行迁移过程的注意事项和策略,以及如何设置用于迁移的开发环境。
将 UWP 功能映射到 Windows 应用 SDK 本主题比较主要功能区域在 UWP 和 Windows App SDK 中的不同显示形式。
支持的功能 了解 WinUI 3 桌面当前提供哪些功能,以评估是否应该立即尝试迁移 UWP 应用。
将 UWP API 和库映射到 Windows 应用 SDK 本主题提供了 UWP API 和库与其 Windows 应用 SDK 等效项的映射。
功能区域指南 迁移指南主题的集合,每个主题侧重于一个特定功能区域。
案例研究 1 - PhotoLab (C#) 本主题是获取 C# UWP PhotoLab 示例应用并将其迁移到 Windows 应用 SDK 的案例研究。
案例研究 2 - 照片编辑器 (C++/WinRT) 本主题是获取 C++/WinRT UWP 照片编辑器示例应用并将其迁移到 Windows 应用 SDK 的案例研究。
其他迁移指南 本主题包含未分类到功能区域指南中的功能区域的其他迁移指南。
使用 .NET 升级助手从 UWP 迁移到 Windows 应用 SDK .NET 升级助手是一种命令行工具,可帮助将 C# UWP 应用迁移到使用 Windows 应用 SDK 的 Windows UI 库 (WinUI) 3 应用。