Compartilhar via


Notas sobre a versão do canal estável para o SDK do Aplicativo Windows 1.1

O canal estável fornece versões do SDK do Aplicativo Windows com suporte para uso por aplicativos em ambientes de produção. Os aplicativos que usam a versão estável do SDK do Aplicativo Windows também podem ser publicados no Microsoft Store.

Links importantes:

Versão de canal estável mais recente:

Downloads para o SDK do Aplicativo Windows

Observação

As extensões do Visual Studio do SDK de Aplicativo do Windows (VSIX) não são mais distribuídas como um download separado. Elas estão disponíveis no Visual Studio Marketplace dentro do Visual Studio.

Versão 1.1

A versão mais recente disponível da linhagem 1.1.x do canal estável do SDK do Aplicativo Windows é a versão 1.1.5. A versão 1.1.x dá suporte a todos os recursos estáveis do canal (confira a seção Recursos disponíveis por canal de lançamento em SDK do Aplicativo Windows canais de versão).

Versão 1.1.5

Essa é uma versão de manutenção do SDK do Aplicativo Windows que inclui correções importantes de bugs para a versão 1.1.

Correções de bugs (1.1.5)

  • Corrigido o problema em que o Acrílico não funciona se o Mica está habilitado. Para obter mais informações, confira o issue n.º 7200 no GitHub.
  • Corrigido o problema que fazia com que os aplicativos que dependem do instalador do WindowsAppRuntime (por exemplo, aplicativos não empacotados) falhassem ao serem executados em computadores Windows 10 ARM64. Para obter mais informações, confira o issue n.º 2564 no GitHub.

Versão 1.1.4

Essa é uma versão de manutenção do SDK do Aplicativo Windows que inclui correções importantes de bugs para a versão 1.1.

Correções de bugs (1.1.4)

  • Corrigida a regressão de 1.0.x, fazendo com que o ListView, TreeView e outros controles 'List' falhassem ao rolar com muitos itens. Para obter mais informações, confira o issue n.º 7230 no GitHub.
  • Corrigido o problema com DispatcherQueue que fazia com que os retornos de chamada enfileirados não fossem mais invocados.
  • Corrigido o problema que causava uma falha no aplicativo ao chamar DeploymentManager.Initialize várias vezes na mesma sessão do aplicativo.
  • Corrigido o problema que fazia com que os aplicativos C# falhassem ao compilar no Visual Studio Arm64. Para obter mais informações, confira o issue n.º 7140 no GitHub.
  • Correção de falha intermitente no código de imagem XAML devido ao tratamento incorreto de falhas.
  • Corrigido o problema de perda de memória ao anexar um manipulador de eventos em ItemsRepeater com um UserControl pai. Para obter mais informações, confira o issue n.º 6123 no GitHub.
  • Corrigido o problema que causava uma falha de build no Visual Studio 17.3 quando um projeto de aplicativo é configurado para habilitar atualizações automáticas de seu pacote quando ele é sideload (ou seja, .appinstaller). Para obter mais informações, confira o issue n.º 2773.
  • Corrigido o problema que fazia com que aplicativos empacotados distribuídos pelo Microsoft Store que chamam o Inicializar (por exemplo, para Push) o chamassem de forma redundante como DeploymentManager::GetStatus retornado Package Install Needed quando os pacotes Main e Singleton já estão instalados. Isso causou uma degradação de desempenho na inicialização do aplicativo.
  • Corrigido o problema que causava uma exceção em aplicativos de instância única quando o evento de limpeza era destinado a ser ignorado se não pudesse ser aberto. Para obter mais informações, confira o PR no GitHub.

Versão 1.1.3

Essa é uma versão de manutenção do SDK do Aplicativo Windows que inclui correções importantes de bugs para a versão 1.1.

Correções de bugs (1.1.3)

  • Corrigido o conjunto relacionado de problemas em que o XAML falha ao incluir um controle ProgressBar, ProgressRing, PipsPager, PersonPicture ou Expander na primeira página do aplicativo. Para obter mais informações, confira o issue n.º 7164 no GitHub.
  • Corrigido o problema que fazia com que o instalador x64 falhasse ao instalar o runtime do SDK do Aplicativo Windows. Para obter mais informações, confira o issue n.º 2713 no GitHub.
  • Corrigido o problema que fazia com que o WindowsAppRuntime falhasse na instalação se uma versão superior do runtime estivesse instalada. Para obter mais informações, confira a discussão 2708 no GitHub.

Versão 1.1.2

Essa é uma versão de manutenção do SDK do Aplicativo Windows que inclui correções importantes de bugs para a versão 1.1.

Correções de bugs (1.1.2)

  • Corrigido o problema em que o XAML falhava ao fechar uma janela enquanto uma caixa de diálogo estava aberta. Para obter mais informações, confira o issue n.º 1032 no GitHub.
  • Adicionada marca <auto-generated> em arquivos C# para evitar avisos StyleCop. Para obter mais informações, confira o issue n.º 4526 no GitHub.
  • Corrigido o problema que causava um erro de violação de acesso e falha ao chamar o MddBootstrapInitialize quando o pacote de estrutura correspondente não estava instalado. Para obter mais informações, confira o issue n.º 2592 no GitHub.
  • Corrigido o problema em que os modelos de item do C# da WinUI 3 estavam ausentes no Visual Studio. Para obter mais informações, confira o issue n.º 7148 no GitHub.
  • Corrigido o problema em que o instalador do WindowsAppRuntime falhava quando executado como usuário do sistema. Para obter mais informações, confira o issue n.º 2546 no GitHub.

Versão 1.1.1

Essa é uma versão de manutenção do SDK do Aplicativo Windows que inclui correções importantes de bugs para a versão 1.1.

Correções de bugs (1.1.1)

  • Corrigido o problema que fazia com que os aplicativos falhassem às vezes durante uma operação de arrastar e soltar. Para obter mais informações, confira o issue n.º 7002 no GitHub.
  • Corrigido o problema que fazia com que a barra de título desaparecesse ao alternar o AppWindowPresenterKind de FullScreen para Padrão.
  • Corrigido o problema em que as APIs do Bootstrapper como ApiInformation.IsPropertyPresent e ApiInformation.IsMethodPresent causavam exceções sem tratamento em aplicativos que não são empacotados. Para obter mais informações, confira o issue n.º 2382 no GitHub.
  • Corrigido o problema que causava o congelamento do aplicativo ao maximizar o aplicativo com entrada de caneta.

Recursos novos e atualizados e problemas conhecidos da 1.1

As seções a seguir descrevem recursos novos e atualizados, limitações e problemas conhecidos para 1.1.

Observação

Para desenvolvedores do C#, uma das seguintes versões do SDK do .NET (ou posterior) é necessária: 6.0.202, 6.0.104, 5.0.407 e 5.0.213. Para atualizar sua versão do SDK do .NET, visite os Downloads do .NET ou atualize para a última versão do Visual Studio. Sem a versão necessária do SDK do .NET, ao atualizar o pacote NuGet, você visualizará um erro como: "Esta versão do WindowsAppSDK requer o WinRT.Runtime.dll versão 1.6 ou superior".

Reinicialização e ciclo de vida do aplicativo

Agora, os aplicativos podem iniciar uma reinicialização explícita com o estado de argumentos específicos baseados na API RegisterApplicationRestart existente para se registrar no sistema operacional e reiniciar em cenários de atualização e reinicialização de travamento.

Novos recursos:

  • Qualquer aplicativo de área de trabalho empacotado ou não empacotado pode terminar e reiniciar-se no comando e ter acesso a uma sequência de linha de comando arbitrária para a instância reiniciada usando a API AppInstance.Restart().
    • Essa é uma versão elevada e síncrona da API da UWP RequestRestartAsync() que permite a reinicialização com argumentos e retorna um AppRestartFailureReason se a reinicialização não for bem-sucedida.
    • Confira os documentos da API de Reinicialização no GitHub para obter informações de referência de uso.

WinUI 3

A WinUI 3 é uma estrutura de UX (experiência do usuário) nativa para o SDK do Aplicativo Windows. Esta versão inclui novos recursos do WinAppSDK 1.0, bem como vários aprimoramentos de estabilidade das versões de preview 1.0 1.1.

Novos recursos:

Bugs corrigidos:

  • Corrigido o problema ao usar o Mica em que o aplicativo falhava quando uma janela é dividida igualmente por duas telas. Consulte o problema 7079 no GitHub para obter mais informações.
  • Corrigido o problema que fazia com que aplicativos C# com WebView2 falhassem na inicialização quando o CRT (Runtime do C/C++) não estava instalado atualizando o SDK do WebView2 de 1020.46 para 1185.39.
  • Corrigido o problema que fazia com que alguns cantos arredondados mostrassem um gradiente quando deveriam ser uma cor sólida. Para obter mais informações, confira os issues n.º 6076 e n.º 6194 no GitHub.
  • Corrigido o problema em que os estilos atualizados estavam ausentes de generic.xaml.
  • Correção do problema de ciclo de layout que fazia com que um aplicativo falhasse ao rolar até o final de um ListView. Para obter mais informações, confira o issue n.º 6218 no GitHub.
  • Corrigido o problema em que os usuários não conseguem soltar um elemento quando o recurso "arrastar e soltar" está habilitado. Para obter mais informações, confira o issue n.º 7008 no GitHub.

Limitações conhecidas:

  • Ao usar uma barra de título personalizada, os controles legenda não alteram a cor na alteração do tema.
  • O XAML falha quando um usuário fecha uma janela enquanto uma caixa de diálogo está aberta.

Implantação

Novos recursos:

Limitações conhecidas:

  • A execução do instalador do Windows App Runtime (WindowsAppRuntimeInstall.exe) requer que o sideload seja habilitado. Para obter mais informações, confira o issue n.º 2469 no GitHub.
  • A criação de um pacote MSIX por meio dos menus do Projeto do Visual Studio pode falhar no Visual Studio em alguns cenários. Esse problema será corrigido no Visual Studio versão 17.3 Versão Prévia 2 e atendido no 17.2. Caso encontre esse problema, poderá contornar isso gerando um MSIX da linha de comando, alternando para um projeto não empacotado ou revertendo para o SDK do Aplicativo Windows 1.0.
  • Aplicativos autônomos empacotados com MSIX não têm suporte no 1809, causando falha no aplicativo na inicialização.

Elevação

Agora, os aplicativos podem ser executados com privilégios elevados.

Limitações conhecidas:

Gerenciador de Variáveis de Ambiente

O Gerenciador de Variáveis de Ambiente é uma nova API introduzida no SDK do Aplicativo Windows 1.1. O Gerenciador de Variáveis de Ambiente permite que os desenvolvedores acessem e modifiquem variáveis de ambiente no processo, no usuário e no escopo do computador de uma superfície de API.

Se o Gerenciador de Variáveis de Ambiente for usado de um aplicativo empacotado, todas as operações de variável de ambiente serão registradas. Quando o pacote é removido, todas as operações de variável de ambiente são revertidas.

Novos recursos:

  • Obtenha e defina variáveis de ambiente no processo, no usuário e no escopo do computador.
  • A variável de ambiente automática reverte quando um pacote que usa o gerenciador de variáveis de ambiente é removido.
  • Inclui APIs específicas para PATH e PATHEXT.

Limitações conhecidas:

  • Disponível apenas no Windows 11

MRT Core

O MRT Core é uma versão simplificada do Sistema de Gerenciamento de Recursos do Windows moderno que é distribuído como parte do SDK do Aplicativo Windows.

Problemas corrigidos:

  • Um problema que faz com que os recursos não sejam indexados por padrão quando um arquivo de recurso é adicionado usando a interface do usuário do VS é corrigido no SDK do .NET 6.0.300. Caso esteja usando uma versão mais antiga do SDK do .NET, continue a usar a solução alternativa documentada nas notas de versão da 1.0. Consulte o problema 1786 no GitHub para obter informações adicionais.
  • Um problema que fazia com que o URI do recurso não fosse criado corretamente em aplicativos da WinUI 3 não empacotados do C++ foi corrigido no Visual Studio 2022 versão 17.2. Caso esteja usando uma versão mais antiga do Visual Studio, atualize o Visual Studio para 17.2 para receber essa correção.

Limitações conhecidas:

  • Em projetos do .NET, os arquivos de recurso copiados colados na pasta do projeto não serão indexados em F5 se o aplicativo já tiver sido criado. Como solução alternativa, recompile o aplicativo. Consulte o problema 1503 no GitHub para obter mais informações.

Para obter mais informações, consulte Gerenciar recursos com o MRT Core.

Notificações

Os desenvolvedores de aplicativos empacotados (incluindo empacotados com localização externa) e aplicativos não empacotados agora podem enviar notificações do Windows.

Novos recursos:

  • Suporte para notificações de aplicativo para aplicativos empacotados e não empacotados.
  • Suporte para notificações por push para aplicativos empacotados e não empacotados.

Limitações conhecidas:

  • Não há suporte para o envio de notificações de um aplicativo com privilégios elevados. PushNotificationManager::IsSupported() não executará uma verificação para o modo elevado.

Windowing

Para facilitar o acesso de programação à funcionalidade implementada em USER32.dll (confira Windows e mensagens), essa versão apresenta mais dessa funcionalidade em AppWindow própria.

Novos recursos:

  • Aplicativos com janelas existentes têm mais controle sobre como uma janela é mostrada, chamando AppWindow.ShowOnceWithRequestedStartupState – o equivalente a ShowWindow(SW_SHOWDEFAULT).
  • Os aplicativos podem mostrar, minimizar ou restaurar uma janela ao especificar se a janela deve ser ativada ou não no momento em que a chamada é feita.
  • Agora, os aplicativos podem determinar dimensões específicas para o tamanho da área do cliente da janela em coordenadas do Win32, sem a necessidade de calcular o dimensionamento da área não cliente para obter um tamanho específico da área do cliente.
  • As APIs adicionais do WinRT estão disponíveis para dar suporte ao gerenciamento de ordem z de janelas com base na funcionalidade hWndInsertAfter do SetWindowPos.
  • Os aplicativos que desenham barras de título personalizadas com AppWindowTitleBar.ExtendsContentIntoTitleBar podem definir uma opção PreferredTitleBarHeight. Agora você tem uma opção entre uma barra de título de altura padrão ou uma barra de título alta que fornece mais espaço para conteúdo interativo. Consulte Barra de título nas diretrizes de design fluente para obter conselhos sobre quando usar uma barra de título alta.

Problemas corrigidos:

  • Quando o apresentador de tela inteira é invocado pela primeira vez, a janela agora se encaixa na tela inteira corretamente. Consulte o problema 1853 no GitHub para obter mais informações.
  • O Windows criado com AppWindow::GetFromWindowId tem o OverlappedPresenter como apresentador padrão, mas não tem restrições em termos de alterações nos estilos de janela provenientes de outras APIs. O Windows criado com o AppWindow::Create terá as proteções padrão do Apresentador em vigor desde o início. Consulte o problema 2049 no GitHub para obter mais informações.
  • Usar a API OverlappedPresenter.SetBorderAndTitlebar para ocultar botões de legenda e bordas resultaria em uma borda superior de 1px quando maximizada. Isso foi resolvido. Consulte o problema 1693 no GitHub para obter mais informações.

Limitações conhecidas:

  • Ao usar a API AppWindowTitlebar para personalizar as cores da barra de título padrão, o ícone e o texto são desalinhados em comparação com a barra de título padrão. Para obter mais informações, confira o issue n.º 2459 do GitHub.

  • Ao resolver o problema 2049 no GitHub (observado acima), apresentamos o seguinte bug: se você aplicar qualquer AppWindowPresenter a um AppWindow recuperado de GetFromWindowId, altere um estilo de janela que está sendo acompanhado por esse Apresentador por meio da chamada a APIs USER32 e tente reverter de volta para o estado anterior da janela aplicando novamente o Apresentador padrão, o resultado é uma janela que não tem nenhuma barra de título. Caso dependa de qualquer Apresentador em seu aplicativo e usar chamadas para USER32 para alterar estilos de janela no momento em que um Apresentador não padrão for aplicado, talvez seja necessário adicionar uma solução alternativa para garantir o comportamento correto da janela até que esse bug seja atendido. Use o seguinte snippet de código como um modelo para contornar o problema:

    AppWindow m_appWindow;
    OverlappedPresenter m_defaultPresenter;
    
    private void EnterFullScreen_Click(object sender, RoutedEventArgs e)
    {
        // Capture the default presenter.
        m_defaultPresenter = m_appWindow.Presenter as OverlappedPresenter;
    
        // Opt in the default overlapped presenter so it can control various aspects of the AppWindow.
        m_defaultPresenter.IsAlwaysOnTop = m_defaultPresenter.IsAlwaysOnTop;
        m_defaultPresenter.IsResizable = m_defaultPresenter.IsResizable;
        m_defaultPresenter.IsMinimizable = m_defaultPresenter.IsMinimizable;
        m_defaultPresenter.IsMaximizable = m_defaultPresenter.IsMaximizable;
        m_defaultPresenter.SetBorderAndTitleBar(m_defaultPresenter.HasBorder, m_defaultPresenter.HasTitleBar);
    
        m_appWindow.SetPresenter(AppWindowPresenterKind.FullScreen);
    }
    
    private void ExitFullScreen_Click(object sender, RoutedEventArgs e)
    {
        m_appWindow.SetPresenter(AppWindowPresenterKind.Default);
    }
    

C#/WinRT

Componentes de Windows Runtime C#, incluindo controles personalizados da WinUI, agora têm suporte. Isso permite que os autores de componentes distribuam componentes de runtime criados em C# para qualquer linguagem compatível com WinRT (por exemplo, C++/WinRT). Consulte, Passo a passo – Criar um componente C# com controles da WinUI 3 e consumi-lo de um aplicativo C++/WinRT que usa o SDK do Aplicativo Windows e o exemplo no GitHub para começar.

Outras limitações e problemas conhecidos

  • Os aplicativos que fazem referência a um pacote que depende do WebView2 (como Microsoft.Identity.Client) não são compilados. Isso é causado por binários conflitantes no momento da compilação. Para obter mais informações, confira o issue n.º 2492 no GitHub.
  • Usar dotnet build com um projeto de biblioteca de classes C# do WinAppSDK pode visualizar um erro de build "A tarefa Microsoft.Build.Packaging.Pri.Tasks.ExpandPriContent não pôde ser carregada". Para resolver esse problema definido <EnableMsixTooling>true</EnableMsixTooling> no arquivo de projeto.
  • Os modelos padrão do WinAppSDK observam que o MaxVersionTested="10.0.19041.0" quando deveria ser "10.0.22000.0". Para obter suporte completo de alguns recursos, notadamente UnlockedDEHs, atualize o MaxVersionTested para "10.0.22000.0" no arquivo de projeto.