Usar o SDK do Aplicativo do Windows em um projeto existente

Se você tiver um projeto da área de trabalho no qual deseja usar o SDK do Aplicativo Windows, poderá instalar o pacote NuGet SDK do Aplicativo Windows em seu projeto (a versão mais recente ou qualquer versão necessária). Aplicativos não empacotados (ou seja, aplicativos que não usam MSIX para sua tecnologia de implantação) devem seguir este procedimento se quiserem usar o SDK do Aplicativo Windows. Mas os aplicativos empacotados também podem fazê-lo.

Importante

Se você estiver trabalhando em um aplicativo UWP, veja Migrar da UWP para o SDK do Aplicativo Windows.

Observação

Esse procedimento tem suporte em projetos C# .NET 6 (e posteriores) e projetos da área de trabalho C++. Esses tipos de projeto podem usar pacotes NuGet do canal de lançamento estável, do canal de versão prévia ou do canal de lançamento experimental.

Pré-requisitos

Instruções

  1. Abra um projeto existente no Visual Studio.

    Observação

    Se você tiver um projeto de área de trabalho em C#, verifique se o elemento TargetFramework no arquivo de projeto está definido como um moniker específico do Windows 10 (como net6.0-windows10.0.19041.0) para que você possa chamar Windows Runtime APIs. Para obter mais informações, consulte Chamar APIs de Windows Runtime em aplicativos da área de trabalho. Além disso, você deve ter como destino o 18362 ou posterior, pois há um problema conhecido ao bloquear aplicativos direcionados à 17763 (consulte Erros de build ao usar o TFM de 17763 no GitHub).

  2. Verifique se as referências de pacote estão habilitadas:

    1. No Visual Studio, clique em Ferramentas>Gerenciador de Pacotes NuGet>Configurações do Gerenciador de Pacotes.
    2. Verifique se PackageReference está selecionado para o Formato de gerenciamento de pacote padrão.
  3. Clique com o botão direito do mouse no seu projeto no Gerenciador de Soluções e escolha Gerenciar Pacotes NuGet.

  4. Na janela Gerenciador de Pacotes NuGet, selecione a caixa Incluir marcar de pré-lançamento perto da parte superior da janela, selecione a guia Procurar e pesquise um dos seguintes pacotes:

  5. Depois de encontrar o pacote NuGet SDK do Aplicativo Windows apropriado, selecione o pacote e clique em Instalar no painel direito da janela Gerenciador de Pacotes NuGet.

    Captura de tela do pacote NuGet SDK do Aplicativo Windows que está sendo instalado

    Observação

    O pacote NuGet SDK do Aplicativo Windows contém outros subpastos (incluindo Microsoft.WindowsAppSDK.Foundation, Microsoft.WindowsAppSDK.WinUI e outros) que contêm as implementações para componentes específicos no SDK do Aplicativo Windows. Você não pode instalar esses subpastos individualmente para referenciar apenas determinados componentes em seu projeto. Você deve instalar o main SDK do Aplicativo Windows pacote NuGet, que inclui todos os componentes.

  6. Somente para aplicativos não empacotados. Antes que seu aplicativo não empacotado possa usar apis e componentes SDK do Aplicativo Windows, seu aplicativo deve primeiro carregar o runtime do SDK do Aplicativo Windows para referenciar o pacote de estrutura SDK do Aplicativo Windows. Para obter mais informações, consulte Usar o runtime do SDK do Aplicativo Windows para aplicativos empacotados com local externo ou não empacotados e Tutorial: usar a API do bootstrapper em um aplicativo empacotado com local externo ou não empacotado que usa o SDK do Aplicativo Windows.

  7. Seu aplicativo agora pode usar SDK do Aplicativo Windows APIs e componentes que estão disponíveis no canal de lançamento que você instalou. Para obter a lista de recursos disponíveis, consulte canais de lançamento.

Mais informações

Se o projeto existente for um projeto C++ e você quiser chamar APIs Windows Runtime no SDK do Aplicativo Windows, será necessário adicionar suporte para C++/WinRT. Confira Suporte do Visual Studio para C++/WinRT, XAML, a extensão VSIX e o pacote NuGet. Procure informações sobre o pacote NuGet Microsoft.Windows.CppWinRT . Sem esse pacote, seu projeto não poderá encontrar os arquivos de cabeçalho de namespace para APIs Windows Runtime no SDK do Aplicativo Windows.

Se você encontrar um erro Classe não registrada ao tentar usar um componente SDK do Aplicativo Windows, talvez seja necessário adicionar ao seu projeto uma dependência dinâmica no pacote do SDK do Aplicativo Windows Framework. Para obter mais informações, consulte Pacotes de estrutura MSIX e dependências dinâmicas.