共用方式為


將 UWP 功能對應到 Windows 應用程式 SDK

本主題比較 UWP 和 Windows 應用程式 SDK 中以不同形式出現的主要功能區域。 此移轉指南中的內容支援從UWP XAML 移至 Windows 應用程式 SDK XAML—移至不同的UI架構,例如 Windows Presentation Foundation (WPF),不在本指南的範圍內。

功能 UWP Windows 應用程式 SDK (封包應用程式) 移轉注意事項
包裝 MSIX
應用程式具有身份識別
MSIX
應用程式具有身分識別
移轉至 Windows 應用程式 SDK的 UWP 應用程式應該保持在 MSIX 上,以確保受信任的全新安裝和卸載體驗,以及存取所有 API,包括需要身分識別的 API。
容器 應用程式容器:
- 安全性 = LowIL
- 檔案系統存取被代理
- 沒有註冊表存取權限
MSIX 容器:
- 安全性 = MediumIL
- 檔案系統存取與使用者的相同,AppData 的寫入是虛擬化的
- HKCU 登錄寫入虛擬化
使用 Windows 應用程式 SDK 移至較高的完整性層級,可讓您的應用程式具有更大的功能。 不過,如果您想要擴充移轉應用程式的功能以寫入 HKCU 或 AppData,請注意虛擬化。
啟動和執行個體化 套件身分識別 + CoreApplication 啟用,預設為單一執行個體 套件身份,Main/WinMain + Windows 應用程式 SDK 啟動,預設為多執行個體 確保您的應用程式可以處理多執行個體行為,或使用 AppInstance 來管理您的執行個體。
生命週期管理 暫停/繼續 電源/狀態通知 您可以使用 Power/State 變更通知來減少系統負載。
背景任務 InProc 和 OOP 背景任務 完全信任 COM 背景任務實作 如需詳細資訊,請參閱 背景工作移轉策略
視窗化 CoreWindow、AppWindow (預覽) HWND、AppWindow v2 視窗化行為在 Windows 應用程式 SDK 中已大幅變更。 請參閱視窗功能轉移
傳訊 CoreDispatcher 和 DispatcherQueue DispatcherQueue、WndProc DispatcherQueue 支援 Win32 應用程式。 如需從 CoreDispatcher 移至 DispatcherQueue 的其他詳細數據,請參閱 執行緒功能移轉
UI 平台 系統 XAML、WebView、DirectX 及其他 WinUI 3、Webview2、DirectX 及其他 如需詳細資訊,請造訪 WinUI 移轉
文字渲染 DirectWrite DWriteCore 可讓應用程式存取最新的 DWrite 功能,並接收不依賴於 OS 發行排程的最新 DWrite 更新。 如需詳細資訊,請參閱 DirectWrite 至 DWriteCore 移轉
資源 MRT MRTCore 如需詳細資訊,請參閱 MRT 至 MRTCore 移轉
.NET 執行階段 .NET Native / C# 7 .NET 6+/C# 9 Windows App SDK 提供對最新的 .NET 執行階段及新語言功能的存取。 不過,.NET ReadyToRun 編譯與 .NET Native 不同,因此您應該評估效能取捨。
2D 圖形 Win2D Win2D for WinUI 3 我們目前正在處理與 Windows 應用程式 SDK 一起運作的 Win2D 版本。 如需詳細資訊,請參閱文件
Web 驗證 WebAuthenticationBroker OAuth2Manager Windows App SDK 提供適用於 OAuth 2.0 功能的新 API。 如需詳細資訊,請參閱 在 Windows 應用程式中實作 OAuth 功能
Windows 執行階段元件 適用於UWP的 Windows 執行階段元件專案範本 - C++:使用 Windows 執行階段元件 (WinUI 3) 專案範本。
- C#:使用 C#/WinRT 在 .NET 類別庫中創作 Windows 執行時間元件。
我們目前正在努力支援使用 C#/WinRT 創作 Windows 執行時間元件,以便在 Windows 應用程式 SDK 和 WinUI 3 中使用。

另請參閱