从 UWP 迁移到Windows 应用 SDK

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

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

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

有关完整详细信息,请参阅下面的主题。 它们描述并演示如何将 通用 Windows 平台 (UWP) 应用程序迁移到Windows 应用 SDK。

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

混合 C/C++ 运行时库链接 (混合 CRT 链接)

在版本 1.0.3 和 1.1 预览版 2 及更高版本中,Windows 应用 SDK使用混合 C/C++ 运行时库链接 (混合 CRT 链接) 。 这是简化部署的 CRT 链接技术。 无论你是 C++ 应用程序开发人员还是 C++ 库开发人员,下面是一些用于了解混合 CRT 链接的资源。

本部分中的主题

主题 说明
总体迁移策略 执行迁移过程的注意事项和策略,以及如何设置用于迁移的开发环境。
将 UWP 功能映射到 Windows 应用 SDK 本主题比较主要功能区域在 UWP 和 Windows 应用 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 的案例研究。
其他迁移指南 本主题包含未分类到功能区域指南中的功能区域的其他迁移指南。