Mapeamento de recursos da UWP para o SDK do aplicativo Windows

Este tópico compara as principais áreas de recursos nos diferentes formatos em que aparecem na UWP e no SDK do Aplicativo Windows. O conteúdo deste guia de migração é sobre a mudança de XAML da UWP para o XAML do SDK de Aplicativo do Windows — a mudança para uma estrutura de interface do usuário diferente, como o Windows Presentation Foundation (WPF), está fora do escopo desta diretriz.

Recurso UWP SDK de Aplicativos do Windows (aplicativos em pacote) Notas de migração
Embalagem MSIX
O aplicativo tem identidade
MSIX
O aplicativo tem identidade
Os aplicativos UWP que migram para o SDK de Aplicativos Windows devem permanecer no MSIX para garantir uma experiência confiável e simples de instalação e desinstalação, bem como acesso a todas as APIs, incluindo aquelas que exigem identidade.
Contêiner Contêiner de aplicativos:
- segurança = LowIL
- o acesso ao sistema de arquivos é intermediado
- sem acesso ao registro
Contêiner do MSIX:
- segurança = MediumIL
- acesso ao sistema de arquivos igual ao usuário, AppData grava virtualizado
- Registro HKCU grava virtualizado
Mover para um nível de integridade mais alto com o SDK de Aplicativos do Windows permite que seu aplicativo tenha maior funcionalidade. No entanto, esteja ciente da virtualização se quiser expandir os recursos do aplicativo migrado para gravar em HKCU ou AppData.
Ativação e instanciação Identidade do pacote + ativação CoreApplication, instância única por padrão Identidade do pacote, ativação Main/WinMain + SDK de Aplicativos do Windows, várias instâncias por padrão Certifique-se de que seu aplicativo possa trabalhar com o comportamento de várias instâncias ou use AppInstance para gerenciar suas instâncias.
Com gerenciamento do ciclo de vida Suspender/retomar Notificações de energia/estado Você pode usar notificações de alteração de energia/estado para reduzir a carga do sistema.
Tarefas em segundo plano Tarefas em segundo plano do InProc e OOP Tarefas em segundo plano do InProc COM e OOP Você pode continuar a usar suas tarefas em segundo plano do OOP. Se o aplicativo exigir comunicação com seu processo principal, avalie seu mecanismo de IPC, pois a tarefa em segundo plano OOP está sendo executada em LowIL, e o processo principal do SDK de Aplicativos do Windows está sendo executado em MediumIL.

Todas as tarefas em segundo plano do inproc precisam migrar para tarefas em segundo plano COM — consulte Criar e registrar uma tarefa em segundo plano COM winmain.

Para tarefas em segundo plano de OOP em C#, consulte Criar componentes do Runtime do Windows com C#/WinRT e o Exemplo de tarefa em segundo plano.
Janelas CoreWindow, AppWindow (visualização) HWND, AppWindow v2 O comportamento de janelas mudou bastante no SDK de aplicativos do Windows. Confira Migração da funcionalidade de janelas.
Mensagens CoreDispatcher e DispatcherQueue DispatcherQueue, WndProc DispatcherQueue suporta aplicativos Win32. Para mais detalhes sobre como migrar do CoreDispatcher para o DispatcherQueue, consulte Migração da funcionalidade de threads.
Plataforma de IU System XAML, WebView, DirectX e outros WinUI 3, Webview2, DirectX e outros Para mais informações, confira migração da Biblioteca da IU do Windows (WinUI).
Renderização de texto DirectWrite DWriteCore Permite que os aplicativos acessem os recursos DWrite mais recentes de nível inferior e recebam novas atualizações do DWrite separadamente do cronograma de lançamento do sistema operacional. Para mais informações, consulte Migração do DirectWrite para DWriteCore.
Recursos MRT MRTCore Para mais informações, consulte Migração de MRT para MRTCore.
Runtime do .NET .NET Nativo/C# 7 .NET 6+/C# 9 O SDK de Aplicativos do Windows fornece acesso ao runtime do .NET moderno e a novos recursos de linguagem. No entanto, a compilação ReadytoRun do .NET não é a mesma que o .NET Native, portanto, você deve avaliar os prós e os contras em termos de desempenho.
Gráficos 2D Win2D Win2D para WinUI 3 No momento, estamos trabalhando em uma versão do Win2D que funciona com o SDK de Aplicativos do Windows. Para obter mais informações, consulte a documentação.
componentes do Windows Runtime Modelos de projeto de componente do Windows Runtime para UWP - C++: use o modelo de projeto do Componente do Windows Runtime (WinUI 3).
- C#: use C#/WinRT para criar Componentes do Windows Runtime em uma biblioteca de classes .NET.
No momento, estamos trabalhando no suporte para Criar Componentes do Windows Runtime usando C#/WinRT para uso no SDK de Aplicativos do Windows e no WinUI 3.