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

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.2.5 (1.2.230313.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.2.

  • Corrigido o problema que fazia com que os aplicativos falhassem durante o desligamento da Composição.
  • Corrigido o problema que fazia com que os aplicativos continuassem executando animações mesmo quando a tela estava desativada.
  • Corrigido o problema que fazia com que a entrada de mouse e toque falhasse no WebView2 quando a entrada do mouse e do teclado ocorreu simultaneamente. Para obter mais informações, confira o issue n.º 3266 do GitHub.

Versão 1.2.4 (1.2.230217.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.2.

  • Corrigido o problema que fazia com que os aplicativos autossuficientes não pudessem definir as Configurações do UAC. Para obter mais informações, confira o issue n.º 3376 do GitHub.
  • Corrigido o problema que fazia com que as notificações por push retornassem um tempo de Expiração impreciso com PushNotificationChannel::ExpirationTime. Para obter mais informações, confira o issue n.º 3300 do GitHub.
  • Corrigido o problema que fazia com que números negativos fossem considerados "inválidos" ao passar um duplo como um parâmetro para uma função x:Bind.
  • Várias correções para atualizar a WinUI do VSIX. Essas atualizações incluíram simplificar a dipAwareness do modelo de projeto no app.manifest, remover os modelos da UWP, atualizar arquivos de recursos localizados, adicionar a ID do telefone para desbloquear o envio do repositório e remover o aviso de direitos autorais e licença. Para obter mais informações, confira os issues n.º 5659, n.º 3205, n.º 3323, n.º 3322 e n.º 3143 do GitHub.

Versão 1.2.3 (1.2.230118.102)

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

  • Corrigido o problema que fazia com que os aplicativos da WinUI 3 falhassem quando várias janelas foram fechadas.
  • Corrigido o problema que fazia com que uma falha no fechamento do aplicativo quando duas ou mais referências à interface do ThreadPoolTimer são chamadas. Para obter mais informações, confira os issues n.º 7260 e n.º 7239 do GitHub.
  • Corrigido o problema que fazia com que todos os aplicativos do MSIX de projeto único executassem como confiança total. Para obter mais informações, confira o issue n.º 7766 do GitHub.

Versão 1.2.2 (1.2.221209.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.2.

  • Corrigido o problema que fazia com que a Microsoft Store e os pacotes de upload lateral (por exemplo, do instalador, do NuGet e do bootstrapper) falhassem na instalação se o outro já estivesse instalado. Para obter mais informações, confira o issue n.º 3168 do GitHub.
  • Corrigido o problema que causava efeitos de elasticidade e curvas de animação ausentes ao rolar com um touchpad. Para obter mais informações, confira o issue n.º 7874 do GitHub.
  • Corrigido o problema em ListView que causava vazamentos de memória.
  • Corrigido o problema que fazia com que o modelo de Botão não respeitasse a propriedade Primeiro plano após passar o mouse. Para obter mais informações, confira o issue n.º 7208 do GitHub.
  • Corrigido o problema que causava uma exceção desnecessária quando não há MediaPlaybackItem em um MediaElement.
  • Corrigido o problema que fazia com que um quadro branco aparecesse no MediaPlayerElement em transições de conteúdo.
  • Correção de problemas adicionais que faziam com que App.UnhandledException não capturasse exceções de outros threads. Para obter mais informações, confira os issues n.º 1259 e n.º 5221 do GitHub.

Versão 1.2.1 (1.2.221116.1)

Essa é uma versão de manutenção do SDK do Aplicativo Windows que inclui uma correção importante de bug para a versão 1.2.

Corrigido o problema que causava uma falha na inicialização em aplicativos da WinUI 3 do C++ ao adicionar um controle WebView2 ou TextBox. Para obter mais informações, confira os issues n.º 7911 e n.º 3117 do GitHub.

recursos novos e atualizados e problemas conhecidos da versão 1.2

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

Observação

O Visual Studio 2019 e o .NET 5 não têm mais suporte para a criação de aplicativos C# (confira SDK do Aplicativo Windows 1.2 migrando para o C# WinRT 2.0). Você precisará do Visual Studio 2022 e de uma das seguintes versões do SDK do .NET: 6.0.401 (ou posterior), 6.0.304, 6.0.109. Quando lançado, o WinAppSDK 1.2 também dará suporte ao .NET 7.

Para atualizar sua versão do SDK do .NET, instale a última versão do Visual Studio 2022 ou visite Downloads do .NET. Ao atualizar seu pacote NuGet sem a versão necessária do SDK do .NET, você visualizará um erro como: "Esta versão do WindowsAppSDK requer .NET 6+ e WinRT.Runtime.dll versão 2.0 ou superior". Para atualizar o projeto do .NET 5.0 para o .NET 6.0, abra o arquivo de projeto e altere "TargetFramework" para net6.0 e "Versão do sistema operacional de destino" para o valor apropriado (como net6.0-windows10.0.19041.0).

Widgets de terceiros no Windows

A placa de widgets foi introduzida pela primeira vez no Windows 11 e foi limitada à exibição de widgets internos. Os widgets são pequenos contêineres de interface do usuário que exibem texto e elementos gráficos no quadro de widgets e estão associados a um aplicativo instalado no dispositivo. Com o SDK do Aplicativo Windows, como desenvolvedores de terceiros, agora você pode criar widgets para seus aplicativos do Win32 empacotados e testá-los localmente no quadro de widgets no Windows 11.

Para obter mais informações sobre widgets, confira Visão geral de widgets.

Para começar a desenvolver os widgets para seu aplicativo, confira os documentos de desenvolvimento de Provedores de serviços do widget e os Conceitos básicos de design de widgets para pré-requisitos, diretrizes e melhores práticas.

Os pré-requisitos para esta versão incluem:

  • Modo de Desenvolvedor habilitado no computador de desenvolvimento.
  • O computador de desenvolvimento está executando uma versão do Windows do Canal do Desenvolvedor do WIP (Versão Prévia do Windows Insider) superior ou igual a 25217 com a versão do quadro de widgets 521.20060.1205.0 ou superior.

Limitações conhecidas ao desenvolver widgets:

  • Os widgets de terceiros só podem ser testados localmente em dispositivos registrados no WIP para esta versão prévia.
  • Os widgets só podem ser criados para aplicativos do Win32 empacotados. Os widgets para PWA (Aplicativo Web Progressivo) têm suporte planejado como parte do Microsoft Edge 108.

DisplayInformation

Os aplicativos da área de trabalho do Windows agora podem dar suporte ao HDR (Alto Alcance Dinâmico) e ao ACM (Gerenciamento Automático de Cores) por meio da classe DisplayInformation no WinAppSDK. A classe DisplayInformation permite monitorar informações relacionadas à exibição de um aplicativo. Isso inclui eventos para permitir que os clientes monitorem alterações na exibição do aplicativo que afetam a tela (ou as telas) na qual a exibição reside, bem como alterações em telas que podem afetar a exibição do aplicativo.

WinUI 3

Os aplicativos da WinUI 3 podem reproduzir áudio e vídeo com os controles de reprodução de mídia MediaPlayerElement e MediaTransportControls. Para obter mais informações sobre como e quando usar os controles de mídia, confira Players de mídia.

A WinUI 3 foi atualizada com os controles, estilos e comportamentos mais recentes da WinUI 2.8. Essas atualizações incluem a adição do controle InfoBadge, melhorias na acessibilidade e no modo de alto contraste, bem como Correções de bugs nos controles. Para obter mais detalhes, confira as notas de versão para a WinUI 2.7 e WinUI 2.8.

Problemas corrigidos:

Limitações conhecidas:

  • Ao criar um novo projeto da WinUI 3 com o Visual Studio 2022 17.4.0, ele fará referência a uma versão prévia do WinAppSDK. Use o Gerenciador de Pacotes NuGet para atualizar a referência a esta versão.
  • A configuração de MediaPlayerElement.Source como URI relativo (ms-appx/ms-resource) falha em aplicativos não empacotados. A solução alternativa recomendada é converter o URI ms-appx:/// relativo em um URI file:/// totalmente resolvido.

Corte para aplicativos desenvolvidos com o .NET

Os desenvolvedores do .NET agora podem publicar aplicativos WinAppSDK aparados. Com o CsWinRT 2.0, as projeções C#/WinRT distribuídas no WinAppSDK agora são aparáveis. Publicar seu aplicativo aparado pode reduzir o volume de disco do aplicativo ao remover qualquer código não utilizado dos binários aparados. Os aplicativos também podem observar uma melhoria no desempenho de inicialização. Com um aplicativo "Olá, Mundo" básico, observamos uma melhoria de cerca de 80% no volume de disco e uma melhoria de desempenho de inicialização de aproximadamente 7% quando publicado o formato aparado. Com a Galeria da WinUI, observamos uma melhoria de aproximadamente 45% no volume de disco.

Para obter mais detalhes sobre como habilitar a aparação, limitações de aparação (como reflexão em relação a tipos aparados) e aparar avisos, confira Aparar implantações autônomas e executáveis. Os desenvolvedores devem testar cuidadosamente seus aplicativos após a aparação para garantir que tudo funcione conforme o esperado. Para obter mais informações, confira o issue n.º 2478 no GitHub.

Suporte ao Arm64 do Visual Studio

Já no Project Reunion (agora WinAppSDK) 0.5, os aplicativos desenvolvidos com o WinAppSDK puderam ser executados no Arm64. A partir do Visual Studio 17.3 Versão Prévia 2, será possível desenvolver aplicativos nativos com WinAppSDK em dispositivos Arm64.

Para começar a desenvolver em um dispositivo Arm64, confira Windows no Arm e Visual Studio Arm64 .

Notificações

AppNotificationBuilder introduzido como uma alternativa ao conteúdo XML para criar e definir notificações de aplicativo.

Para obter informações de uso, confira a especificação do AppNotificationBuilder no GitHub.

Consulte também Início Rápido: notificações de aplicativo no SDK do Aplicativo Windows para obter um exemplo de como criar um aplicativo da área de trabalho do Windows que envia e recebe notificações de aplicativo local.

Alteração interruptiva:

Para notificações por push, ao fazer uma chamada de solicitação de canal, os aplicativos precisarão usar a ID de Objeto do Azure em vez da ID do Aplicativo do Azure. Confira Início Rápido: notificação por push no SDK do Aplicativo Windows para obter detalhes sobre como localizar sua ID de Objeto do Azure.

Problema corrigido:

O PushNotificationManager.IsSupported executará uma verificação para o modo elevado. Ele retornará false se o aplicativo for elevado.

Limitações conhecidas (Notificações):

Windowing

A personalização completa da barra de título agora está disponível no Windows 10, versão 1809 e posterior por meio da classe AppWindowTitleBar. Defina o AppWindowTitleBar.ExtendsContentIntoTitleBar como true para estender o conteúdo na área da barra de título e SetDragRectangles para definir regiões de arrastar (além de outras opções de personalização).

Caso esteja usando a propriedade AppWindowTitleBar.IsCustomizationSupported para verificar se você pode chamar as APIs AppWindowTitleBar, ela agora retornará true em versões do SDK do Aplicativo Windows para Windows 10 com suporte (1809 e posteriores).

Limitações conhecidas (janelas):

Não há suporte para personalizações básicas da barra de título no Windows 10. Elas incluem Cor da tela de fundo, Cor da tela de fundo inativa, Cor do primeiro plano, Cor do primeiro plano inativo e Opções de exibição de ícone. Se chamar essas propriedades, elas serão ignoradas silenciosamente. Todas as outras APIs AppWindowTitleBar funcionam no Windows 10, versão 1809 e posteriores. Para as APIs de cores do botão de legenda (entre outras) e Altura, ExtendsContentIntoTitleBar devem ser definidas como true, caso contrário, elas também serão ignoradas silenciosamente.

Controle de acesso

Foi apresentado o security.accesscontrol.h com a função GetSecurityDescriptorForAppContainerNames para facilitar e simplificar o compartilhamento de objetos nomeados entre processos empacotados e as APIs gerais do Win32. Esse método usa uma lista de PFNs (Nomes de Família de Pacotes) e máscaras de acesso e retorna um descritor de segurança. Para obter mais informações, confira a especificação do GetSecurityDescriptorForAppContainerNames no GitHub.

Outras limitações e problemas conhecidos

Importante

Ao referenciar o WinAppSDK 1.2 de um projeto, é possível ver um erro semelhante a: "Downgrade de pacote detectado: Microsoft.Windows.SDK.BuildTools de 10.0.22621.1 para 10.0.22000.194.", que é causado por referências incompatíveis ao pacote do projeto de aplicativo e ao pacote WinAppSDK. Para resolver isso, atualize a referência no projeto para uma versão mais recente e compatível do Microsoft.Windows.SDK.BuildTools.

  • Os testes de unidade podem falhar com um erro REGDB_E_CLASSNOTREG no painel de saída Testes no Visual Studio. Como alternativa, adicione <WindowsAppContainer>true</WindowsAppContainer> ao arquivo de projeto.
  • Não há suporte para PublishSingleFile do .NET.
  • Os padrões de inicializador automático da versão gratuita do WinRT desencaixada e com Bootstrapper são agora definidos apenas para projetos que produzem um executável (OutputType=Exe ou WinExe). Isso impede a adição de inicializadores automáticos em DLLs de biblioteca de classes e outros não executáveis por padrão.
    • Caso precise de um inicializador automático em um não executável (por exemplo, uma DLL de teste carregada por um executável genérico que não inicializa o Bootstrapper), você poderá habilitar explicitamente um inicializador automático em seu projeto por meio de <WindowsAppSdkBootstrapInitialize>true</WindowsAppSdkBootstrapInitialize> ou <WindowsAppSdkUndockedRegFreeWinRTInitialize>true</WindowsAppSdkUndockedRegFreeWinRTInitialize>.
  • Microsoft.WindowsAppRuntime.Release.Net.dll é sempre o binário ARM64 e não funciona para aplicativos x86 e x64. Ao chamar explicitamente a API de Inicialização, não use o assembly Microsoft.WindowsAppRuntime.Release.Net.dll. Como alternativa, incluía constantes de versão neste arquivo de origem distribuído com o pacote NuGet: '.. \include\WindowsAppSDK-VersionInfo.cs' ou use o inicializador automático.