Partilhar via


Desempacotar uma aplicação WinUI

A embalagem é uma parte importante de qualquer projeto de SDK de aplicações Windows. Para mais detalhes sobre as suas opções, consulte Vantagens e desvantagens de embalar a sua aplicação.

Se optar por desempacotar uma aplicação WinUI nova ou existente, siga estes passos:

No seu .csproj ficheiro, encontre o primeiro elemento PropertyGroup existente, que também contém OutputType, TargetFramework, e outras propriedades.

  • Adicione a WindowsPackageType propriedade do projeto a este elemento PropertyGroup . Defina seu valor como None.
<Project ...>
  ...
  <PropertyGroup>
    <WindowsPackageType>None</WindowsPackageType><!-- add this -->
    <OutputType>WinExe</OutputType>
    <TargetFramework>net8.0-windows10.0.19041.0</TargetFramework>
    ...
  </PropertyGroup> 
  ...
</Project>

Para iniciar a aplicação a partir do Visual Studio (seja Debugging ou Without Debugging), selecione o perfil de lançamento Não Empacotado no menu drop-down Iniciar. Se o perfil de Pacote estiver selecionado, verá um erro de implantação no Visual Studio. Este passo não é necessário se iniciar a aplicação (.exe) na linha de comandos ou no Explorador de Ficheiros do Windows.

Visual Studio - Menu suspenso inicial com o perfil de lançamento da aplicação C# não empacotado destacado

A API Bootstrapper

Definir a <WindowsPackageType>None</WindowsPackageType> propriedade do projeto faz com que o inicializador automático localize e carregue uma versão do SDK de aplicações do Windows que seja mais adequada para a sua aplicação.

Se tiver necessidades avançadas (como gestão personalizada de erros ou carregar uma versão específica do Windows App SDK), então pode chamar explicitamente a API do bootstrapper. Para mais informações, veja Usar o tempo de execução do SDK da Windows App para aplicações empacotadas com localização externa ou não empacotadas, e Tutorial: Usar a API bootstrapper numa aplicação empacotada com localização externa ou não empacotada que use o SDK da aplicação Windows.

Para mais informações sobre o bootstrapper, consulte Arquitetura de implementação e visão geral para aplicações dependentes do framework.