通过


从 UWP 迁移到Windows 应用 SDK

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

注意

现有 UWP 应用将继续按预期方式正常运行。 但是,若要利用 WinUI 3Windows 应用 SDK 中的新式功能,我们建议迁移您的应用程序。

下面是手动迁移的高层次步骤。 但有关使用 .NET 升级助手工具的信息,请参阅以下部分。

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

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

请特别注意从 UWP 迁移到 WinUI 时支持的功能,其中描述了 WinUI 和Windows 应用 SDK尚不支持的任何功能。 如果应用需要这些功能/库中的任何一个,则可能需要考虑推迟迁移。

注意

如果 UWP 应用的源代码是用 C++/CX 编写的,则另请参阅 从 C++/CX 移动到 C++/WinRT。

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

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

容器化优势

过渡到Windows 应用 SDK时,UWP 应用程序可能会失去其原始平台的固有容器化优势。 但是,可以使用 Win32 应用隔离来还原这些优势,这是一项新的安全功能,通过隔离沙盒环境中的应用程序来增强保护。 此方法为潜在威胁提供额外的安全性,只需对现有代码进行最小更改。 有关详细信息,以及开始使用 Win32 应用隔离,请参阅 Win32 应用隔离概述

本部分中的主题

主题 说明
总体迁移策略 执行迁移过程的注意事项和策略,以及如何设置用于迁移的开发环境。
将 UWP 功能映射到 Windows 应用 SDK 本主题比较了 UWP 和Windows 应用 SDK中显示的不同形式的主要功能区域。
支持的功能 了解 WinUI Desktop 中当前可用的功能,以评估是否应立即尝试迁移 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 的 WinUI 应用。
使用 AI 帮助实现应用现代化 如何使用GitHub Copilot加速现有桌面应用通过Windows 应用 SDK和WinUI 3进行现代化。

另请参阅