Condividi tramite


Mapping delle API UWP all'SDK per app di Windows

Questo argomento confronta le principali aree di funzionalità nei diversi moduli in cui vengono visualizzati nella piattaforma UWP e nella SDK per app di Windows. Il contenuto di questa guida alla migrazione supporta il passaggio da XAML UWP a SDK per app di Windows XAML, passando a un framework dell'interfaccia utente diverso, ad esempio Windows Presentation Foundation (WPF), non rientra nell'ambito di queste linee guida.

Funzionalità UWP SDK per app di Windows (app in pacchetto) Note sulla migrazione
Packaging MSIX
L'app ha un'identità
MSIX
L'app ha un'identità
Le app UWP che eseguono la migrazione al SDK per app di Windows devono rimanere su MSIX per garantire un'esperienza di installazione e disinstallazione pulita attendibili, nonché l'accesso a tutte le API, incluse quelle che richiedono l'identità.
Contenitore App contenitore
- security = LowIL
- L'accesso al file system viene negoziato
Accesso al Registro di sistema
Contenitore: MSIX
- security = MediumIL
- Accesso al file system uguale all'utente, AppData scrive virtualizzato
- Scritture virtualizzate del Registro di sistema HKCU
Il passaggio a un livello di integrità superiore con il SDK per app di Windows consente all'app di avere funzionalità maggiori. Tuttavia, tenere presente la virtualizzazione se si vogliono espandere le funzionalità dell'applicazione migrata per scrivere in HKCU o AppData.
Attivazione e creazione di istanze Identità del pacchetto + Attivazione coreApplication, a istanza singola per impostazione predefinita Identità del pacchetto, Main/WinMain + SDK per app di Windows attivazione, multiistanza per impostazione predefinita Assicurarsi che l'applicazione possa gestire il comportamento a più istanze o usare AppInstance per gestire le istanze.
Gestione ciclo di vita Sospensione/ripresa Notifiche di alimentazione/stato È possibile usare le notifiche di modifica di Power/State per ridurre il carico di sistema.
Attività in background Attività in background InProc e OOP Attività in background InProc e OOP È possibile continuare a usare le attività in background OOP. Se l'app richiede la comunicazione con il processo principale, valutare il meccanismo IPC, perché l'attività in background OOP è in esecuzione in LowIL e il processo principale SDK per app di Windows è in esecuzione in MediumIL.

È necessario eseguire la migrazione di qualsiasi attività in background inproc alle attività in background COM. Vedere Creare e registrare un'attività in background COM winmain.

Per le attività in background di C# OOP, vedi Creare componenti Windows Runtime con C#/WinRT e l'esempio di attività In background.
Windowing CoreWindow, AppWindow (anteprima) HWND, AppWindow v2 Il comportamento delle finestre è cambiato in modo significativo in SDK per app di Windows. Vedere Migrazione della funzionalità di windowing.
Messaggistica CoreDispatcher e DispatcherQueue DispatcherQueue, WndProc DispatcherQueue supporta le app Win32. Per altri dettagli sul passaggio da CoreDispatcher a DispatcherQueue, vedere Migrazione delle funzionalità di threading.
MSDN Platform XAML di sistema, WebView, DirectX e altri WinUI 3, Webview2, DirectX e altri Per maggiori informazioni, vedere Migrazione WinUI.
Rendering del testo DirectWrite DWriteCore Consente alle applicazioni di accedere alle funzionalità di DWrite più recenti e ricevere nuovi aggiornamenti DWrite separati dalla pianificazione della versione del sistema operativo. Per altre info, vedi Migrazione di DirectWrite to DWriteCore.
Risorse MRT MRTCore Per altre informazioni, vedere Migrazione da MRT a MRTCore.
Runtime .NET .NET Native .NET 6+/C# 9 Windows App SDK fornisce l'accesso al runtime .NET moderno e l'accesso alle nuove funzionalità di linguaggio. Tuttavia, la compilazione .NET ReadyToRun non è uguale a .NET Native, pertanto è consigliabile valutare i compromessi delle prestazioni.
Grafica 2D Win2D Win2D per WinUI 3 Attualmente stiamo lavorando a una versione di Win2D che funziona con il SDK per app di Windows, in corso. Per altre informazioni, vedi la documentazione.
Componenti Windows Runtime Modelli di progetto del componente Windows Runtime per la piattaforma UWP - C++: usare il modello di progetto Componente Windows Runtime (WinUI 3).
- C#: Usare C#/WinRT per creare componenti Windows Runtime in una libreria di classi .NET.
Attualmente stiamo lavorando al supporto per creare componenti Windows Runtime usando C#/WinRT per l'uso nei SDK per app di Windows e WinUI 3.

Vedi anche