共用方式為


從 UWP 移轉至 Windows 應用程式 SDK

若要將應用程式從 通用 Windows 平台 (UWP) 移轉至 Windows 應用程式 SDK,您的 UI 程式代碼可能只需要變更幾個命名空間,而大部分的平台程式代碼都可以維持不變。 由於 UWP 應用程式和桌面應用程式之間的差異,您需要調整一些程式碼。 但是,我們預期對於大多數應用程式 (當然取決於程式碼基底大小而定),移轉會依天而非週的順序進行。

注意

如果您滿意 UWP 平臺和 UWP 應用程式的目前功能,則不需要移轉專案。 WinUI 2Windows SDK 會繼續支援 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 尚未支援的任何功能。 如果您的應用程式需要這些功能/連結庫的任何一項,您可能想要考慮延後移轉。

注意

如果您的 UWP 應用程式的原始程式碼是以 C++/CX 撰寫,另請參閱 從 C++/CX 移至 C++/WinRT。

使用 .NET Upgrade Assistant 工具進行移轉

作為協助您將 UWP 應用程式移轉至 Windows 應用程式 SDK 和 WinUI 3 的進一步步驟,我們已利用 .NET 升級小幫手,新增移轉 C# UWP 應用程式的支援。 UWP 支援會將大部分移轉程式自動化。 有關詳細信息,請參閱主題使用 .NET Upgrade Assistant 從 UWP 移轉到 Windows 應用程式 SDK

容器化優點

轉換至 Windows 應用程式 SDK 時,UWP 應用程式可能會失去原始平臺的固有容器化優點。 不過,這些優點可以使用 Win32 應用程式隔離來還原,這是一項新的安全性功能,透過隔離沙箱環境內的應用程式來增強保護。 此方法可針對潛在威脅提供額外的安全性,且現有程式代碼的變更最少。 如需詳細資訊,以及開始使用 Win32 應用程式隔離,請瀏覽 歡迎使用 GitHub 上的 Win32 應用程式隔離存放庫

本章節的主題

主題 說明
總體移轉策略 處理移轉程序的考量與策略,以及讓開發環境準備好移轉的設定方式。
將 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 的案例研究。
其他移轉指南 本主題包含功能區域指南中未分類為功能區域的其他移轉指引
使用 .NET Upgrade Assistant 從 UWP 移轉到 Windows 應用程式 SDK .NET 升級小幫手 (部分機器翻譯) 是一種命令列工具,可協助將 C# 通用 Windows 平台 (UWP) 應用程式移轉至使用 Windows 應用程式 SDK 的 WinUI 3 (部分機器翻譯) 應用程式。

另請參閱