从 UWP 迁移到 Windows App SDK
若要将应用从通用 Windows 平台(UWP)迁移到Windows 应用 SDK,UI 代码可能需要几个命名空间更改,而大部分平台代码可以保持不变。 由于 UWP 应用与桌面应用之间的差异,你将需要调整一些代码。 但是,我们预计,对于大多数应用而言(当然,这取决于代码库大小),迁移将按天数而不是周数的顺序进行。
注意
现有 UWP 应用将继续按预期方式正常运行。 但是,若要利用 WinUI 3 和 Windows 应用 SDK中的新式功能,建议迁移应用。
下面是手动迁移的步骤。 但有关使用 .NET 升级助手工具的信息,请参阅以下部分。
- 创建新的 WinUI 3 打包桌面项目(参阅创建你的第一个 WinUI 3 项目)。 这可能进入项目的现有解决方案。
- 复制 XAML/UI 代码。 在许多情况下,只需更改命名空间(例如,将 Windows.UI.* 更改为 Microsoft.UI.*)。
- 复制应用逻辑代码。 某些 API 需要调整,例如 Popup、Picker 和 SecondaryTile。
有关更多详情,请参阅下表中的主题。 其介绍和演示如何将通用 Windows 平台 (UWP) 应用程序手动迁移到 Windows 应用 SDK。
请特别注意从 UWP 迁移到 WinUI 3 时支持的功能,其中描述了 WinUI 3 与 Windows App SDK 尚不支持的所有功能。 如果应用需要这些功能/库中的任何一个,则可能需要考虑推迟迁移。
注意
如果 UWP 应用的源代码是用 C++/CX 编写的,则另请参阅 从 C++/CX 移动到 C++/WinRT。
使用 .NET 升级助手工具进行迁移
作为你将 UWP 应用迁移到 Windows App SDK 和 WinUI 3 的进一步辅助,我们利用了 .NET 升级助手,添加了对迁移 C# UWP 应用的支持。 UWP 支持自动执行大部分迁移过程。 有关详细信息,请参阅主题使用 .NET 升级助手从 UWP 迁移到 Windows App SDK。
容器化优势
转换到Windows 应用 SDK时,UWP 应用程序可能会失去其原始平台的固有容器化优势。 但是,可以使用 Win32 应用隔离来还原这些优势,这是一项新的安全功能,通过隔离沙盒环境中的应用程序来增强保护。 此方法为潜在威胁提供额外的安全性,只需对现有代码进行最小更改。 有关详细信息,并开始使用 Win32 应用隔离,请访问 GitHub 上的 Win32 应用隔离存储库 。
本部分中的主题
主题 | 说明 |
---|---|
总体迁移策略 | 执行迁移过程的注意事项和策略,以及如何设置用于迁移的开发环境。 |
将 UWP 功能映射到 Windows App SDK | 本主题比较主要功能区域在 UWP 和 Windows App SDK 中的不同显示形式。 |
支持的功能 | 了解 WinUI 3 桌面当前提供哪些功能,以评估是否应该立即尝试迁移 UWP 应用。 |
将 UWP API 和库映射到 Windows App SDK | 本主题提供了 UWP API 和库与其 Windows App SDK 等效项的映射。 |
功能区域指南 | 迁移指南主题的集合,每个主题侧重于一个特定功能区域。 |
案例研究 1 - PhotoLab (C#) | 本主题是获取 C# UWP PhotoLab 示例应用并将其迁移到 Windows App SDK 的案例研究。 |
案例研究 2 - 照片编辑器 (C++/WinRT) | 本主题是获取 C++/WinRT UWP 照片编辑器示例应用并将其迁移到 Windows App SDK 的案例研究。 |
其他迁移指南 | 本主题包含未分类到功能区域指南中的功能区域的其他迁移指南。 |
使用 .NET 升级助手从 UWP 迁移到 Windows App SDK | .NET 升级助手是一种命令行工具,可帮助将 C# UWP 应用迁移到使用 Windows App SDK 的 WinUI 3 应用。 |