從 UWP 移轉至 Windows 應用程式 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 應用程式 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 (部分機器翻譯) 應用程式。 |