Notas sobre a versão mais recente do canal de pré-visualização para o SDK do Aplicativo Windows

Importante

O canal de preview não é compatível com o uso em ambientes de produção e os aplicativos que usam as versões de preview não podem ser publicados na Microsoft Store.

O canal de pré-visualização do SDK de Aplicativo do Windows com recursos de canal de pré-visualização nos últimos estágios de desenvolvimento. As versões de pré-visualização não incluem recursos experimentais e APIs, mas ainda podem estar sujeitas a alterações significativas antes da próxima versão estável.

Links importantes:

Arquivo de notas de versão do canal de pré-visualização:

Versão 1.6 Versão Prévia 2 (1.6.0-preview2)

Esta é a versão mais recente do canal de visualização para a versão 1.6.

Em um aplicativo SDK do Aplicativo Windows 1.5 existente (do canal estável), você pode atualizar seu pacote Nuget para 1.6.0-preview2 (consulte a seção Atualizar um pacote em Instalar e gerenciar pacotes no Visual Studio usando o Gerenciador de Pacotes NuGet).

Para visualizar o runtime atualizado e o MSIX, confira Downloads para o SDK do Aplicativo Windows.

Novos recursos

Alterações necessárias no projeto C# para 1.6-preview2

As diretrizes do projeto C# da versão 1.6-preview1 também são necessárias para esta versão.

Suporte a AOT nativo

1.6-preview2 inclui alterações significativas para atualizar para o Microsoft.Windows.CsWinRT versão 2.1.1 lançado e tornar a compilação mais confiável para compilação nativa antecipada.

Integração atualizada do SDK do Edge WebView2

Esta versão agora faz referência à versão 1.0.2651.64 lançada do Microsoft.Web.WebView2 pacote, que deve corrigir problemas atingidos com a versão de pré-lançamento referenciada em 1.6-preview1. Conforme observado em 1.6-preview1, os aplicativos agora podem escolher uma versão mais recente do Microsoft.Web.WebView2 pacote, se desejarem.

Correções de bugs

1.6-preview2 contém as seguintes novas correções desde o lançamento da versão 1.6-preview1:

  • Corrigida uma falha ao definir InfoBar.IsOpen em .xaml. Para obter mais informações, consulte o problema #8391 do GitHub.
  • Corrigido um problema em que os elementos HTML perdiam a captura do ponteiro quando o mouse se movia para fora dos WebView2 limites. Para obter mais informações, consulte o problema #8677 do GitHub.
  • Corrigido um problema em que arrastar e soltar em um submenu com ShouldConstrainToRootBounds=false não funcionava. Para obter mais informações, consulte o problema #9276 do GitHub.
  • Corrigido um problema em que ms-appx:// as referências não funcionavam quando PublishSingleFile ativado. Para obter mais informações, consulte o problema #9468 do GitHub.
  • Corrigido um problema em que os símbolos do depurador não funcionavam corretamente para alguns binários. Para obter mais informações, consulte o problema #4633 do GitHub.
  • Corrigida uma quebra de construção ao usar /permissive-. Para obter mais informações, consulte o problema #4643 do GitHub.
  • Corrigidas algumas alterações significativas da API na versão 1.6-preview1 causadas por parâmetros renomeados. Para obter mais informações, consulte o problema #4645 do GitHub.
  • Corrigidas quebras de build de conflito de tipo atingidas por alguns projetos na versão 1.6-preview1, principalmente com Windows.UI.Text tipos. Para obter mais informações, consulte o problema #4646 do GitHub.
  • Corrigido um problema com pesquisas de recursos por bibliotecas de controle na versão 1.6-preview1. Para obter mais informações, consulte o problema #4649 do GitHub.
  • Corrigido um possível travamento ao subclassificar NavigationView.
  • Corrigido um problema em que as bordas da tabela em um RichEditBox não eram apagadas corretamente ao rolar ou reduzir o tamanho da tabela.
  • Corrigido um problema em que os submenus tinham um plano de MediaTransportControls fundo totalmente transparente.
  • Corrigido um problema em que arrastar para um WebView2 falhava ou soltava no local errado em fatores de escala de exibição diferentes de 100% ou quando o dimensionamento de texto do sistema estava habilitado.
  • Corrigido um problema em que TextBox/RichEditBox não anunciava às ferramentas de acessibilidade quando a entrada era bloqueada devido a estar no MaxLength limite.

Versão 1.6 Versão Prévia 1 (1.6.0-preview1)

Esta é a versão mais recente do canal de visualização para a versão 1.6.

Em um aplicativo SDK do Aplicativo Windows 1.5 existente (do canal estável), você pode atualizar seu pacote Nuget para 1.6.0-preview1 (consulte a seção Atualizar um pacote em Instalar e gerenciar pacotes no Visual Studio usando o Gerenciador de Pacotes NuGet).

Para visualizar o runtime atualizado e o MSIX, confira Downloads para o SDK do Aplicativo Windows.

Novos recursos

Observação

O novo controle TitleBar que lançamos na versão 1.6-experimental1 ainda não está disponível em compilações não experimentais da versão 1.6 para permitir mais tempo para avaliar e responder aos comentários da comunidade. Recebemos muitas contribuições excelentes aqui e queremos ter certeza de que dedicaremos o tempo necessário para resolvê-lo.

Alterações necessárias no projeto C# para 1.6-preview1

Na versão 1.6-preview1, SDK do Aplicativo Windows aplicativos gerenciados exigem Microsoft.Windows.SDK.NET.Ref *.*.*.38, que pode ser especificado por meio de WindowsSdkPackageVersion em seu csproj arquivo. Por exemplo:

<Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
       <OutputType>WinExe</OutputType>
       <TargetFramework>net8.0-windows10.0.22621.0</TargetFramework>
       <TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
       <WindowsSdkPackageVersion>10.0.22621.38</WindowsSdkPackageVersion>
   <PropertyGroup>
   ...

Além disso, SDK do Aplicativo Windows aplicativos gerenciados devem ser atualizados para Microsoft.Windows.CsWinRT 2.1.1 (ou posterior).

Suporte a AOT nativo

A propriedade do projeto .NET PublishAot agora tem suporte para compilação nativa antecipada. Para obter detalhes sobre o AOT nativo, consulte Implantação do AOT nativo. Como o AOT se baseia no suporte ao Trimming, muitas das diretrizes relacionadas ao Trimming descritas anteriormente na versão 1.6-experimental1 também se aplicam. Consulte Suporte AOT nativo para obter mais informações.

Conforme observado acima, os projetos C# devem ter uma referência de pacote para Microsoft.Windows.CsWinRT 2.1.1 (ou posterior). Esta versão inclui uma implementação segura ICustomPropertyProvider para AOT. Os tipos usados com esse suporte devem ser marcados com o WinRT.GeneratedBindableCustomProperty atributo junto com a criação partialde .

Integração alterada do SDK do Edge WebView2

O SDK do Aplicativo Windows agora consome o SDK do Edge WebView2 como uma referência NuGet em vez de inserir uma versão codificada do SDK do Edge WebView2. O novo modelo permite que os aplicativos escolham uma versão mais recente do Microsoft.Web.WebView2 pacote em vez de se limitarem à versão com a qual o SDK do Aplicativo Windows foi criado. O novo modelo também permite que os aplicativos façam referência a pacotes NuGet que também fazem referência ao SDK do Edge WebView2. Para obter mais informações, consulte o problema #5689 do GitHub.

Novas APIs de implantação de pacotes

A API de Gerenciamento de Pacotes recebeu vários aprimoramentos, incluindo Is*ReadyOrNewerAvailable*(), EnsureReadyOptions.RegisterNewerIfAvailable, Is*Provisioned*(), IsPackageRegistrationPending() e várias correções de bugs. Consulte PackageManagement.md e Pull Request #4453 para obter mais detalhes.

Remoção aprimorada da guia TabView

TabView Suporta um novo CanTearOutTabs modo que fornece uma experiência aprimorada para arrastar guias e arrastar para uma nova janela. Quando essa nova opção está ativada, arrastar a guia é muito parecido com a experiência de arrastar a guia no Edge e no Chrome, onde uma nova janela é criada imediatamente durante o arrasto, permitindo que o usuário a arraste para a borda da tela para maximizar ou ajustar a janela em um movimento suave. Essa implementação também não usa APIs de arrastar e soltar, portanto, não é afetada por nenhuma limitação nessas APIs. Notavelmente, a remoção de tabulação é suportada em processos executados com privilégios elevados como Administrador.

Outras alterações importantes

  • Adicionamos uma nova ColorHelper.ToDisplayName() API, preenchendo essa lacuna da UWP.
  • Adicionada uma nova Microsoft.Windows.Globalization.ApplicationLanguages classe, que inclui um novo PrimaryLanguageOverride recurso. Para obter mais informações, consulte o problema #4523 do GitHub.
  • Não lacrado ItemsWrapGrid. Esta deve ser uma mudança compatível com versões anteriores.
  • PipsPager Suporta um novo modo em que pode ser encapsulado entre o primeiro e os itens da lista.
  • RatingControl agora é mais personalizável, movendo algumas propriedades de estilo codificadas para recursos de tema. Isso permite que os aplicativos substituam esses valores para personalizar melhor a aparência do RatingControl.

Problemas conhecidos

  • Se o depurador estiver definido para interromper todas as exceções do C++, ele será interrompido em um par de exceções barulhentas na inicialização no código BCP47 (Globalização do Windows).

Correções de bugs

  • Corrigidos alguns problemas relacionados ao manuseio de cenários personalizados da barra de título. Para obter mais informações, consulte os problemas do GitHub #7629, #9670, #9709 e #8431.
  • Corrigido um problema em que InfoBadge o ícone não estava visível. Para obter mais informações, consulte o problema #8176 do GitHub.
  • Corrigido um problema com ícones às vezes exibidos na posição errada em CommandBarFlyout. Para obter mais informações, confira o issue n.º 9409 do GitHub.
  • Corrigido um problema com o foco do teclado nos menus ao abrir ou fechar um submenu. Para obter mais informações, consulte o problema #9519 do GitHub.
  • Corrigido um problema com TreeView o uso do estado incorreto IsExpanded ao reciclar itens. Para obter mais informações, consulte o problema #9549 do GitHub.
  • Corrigido um problema ao usar uma associação ElementName em um ItemsRepeater.ItemTemplate. Para obter mais informações, consulte o problema #9715 do GitHub.
  • Corrigido um problema com o primeiro item às ItemsRepeater vezes com uma posição incorreta. Para obter mais informações, consulte o problema #9743 do GitHub.
  • Corrigido um problema com InputNonClientPointerSource às vezes interrompendo a entrada nos botões min/max/close. Para obter mais informações, consulte o problema #9749 do GitHub.
  • Corrigido um erro de compilação ao usar Microsoft.UI.Interop.h com clang-cl. Para obter mais informações, consulte o problema #9771 do GitHub.
  • Corrigido um problema em que o CharacterReceived evento não funcionava no/ComboBoxTextBox . Para obter mais informações, consulte o problema #9786 do GitHub.
  • Corrigido o problema nas compilações experimentais 1.6 em que o comportamento de entrada do ponteiro estava CanTearOutTabs incorreto em monitores com fator de escala diferente de 100%. Para obter mais informações, consulte o problema #9791 do GitHub.
  • Corrigido o problema na compilação 1.6-experimental2 em que algumas traduções de idiomas tinham problemas de codificação de caracteres para ColorHelper.ToDisplayName().
  • Corrigido um problema da versão 1.6-experimental1 em NumberBox que não estava usando as cores corretas de primeiro plano e plano de fundo. Para obter mais informações, consulte o problema #9714 do GitHub.
  • Corrigido um problema em que eventos duplicados KeyUp eram gerados para teclas de seta e tab. Para obter mais informações, consulte o problema #9399 do GitHub.
  • Corrigido um problema em que o PowerManager.SystemSuspendStatusChanged evento era inutilizável para obter o SystemSuspendStatus. Para obter mais informações, consulte o problema #2833 do GitHub.
  • Corrigido um problema em que o foco inicial do teclado não era dado corretamente a um WebView2 quando esse era o único controle na janela.
  • Corrigido um problema ao usar ExtendsContentIntoTitleBar=true em que os botões Mín/Máx/Fechar não apareciam corretamente na Automação da Interface do Usuário, o que impedia o Acesso por Voz de mostrar números para esses botões.
  • Corrigido um problema em que um aplicativo pode falhar em uma verificação de bloqueio devido a uma reentrância inesperada.
  • Corrigido um problema em que Hyperlink as cores não eram atualizadas corretamente ao alternar para um tema de alto contraste.
  • Corrigido um problema em que alterar a coleção de a ListView em uma janela de plano de fundo poderia mover incorretamente essa janela para o primeiro plano e obter o foco.
  • Corrigido um problema de 1.6-experimental1 em que a configuração AcrylicBrush.TintLuminosityOpacity em .xaml em um projeto de biblioteca de classes falhava com um erro de conversão de tipo.
  • Corrigido um problema em que chamar ItemsRepeater.StartBringIntoView às vezes fazia com que os itens desaparecessem.
  • Corrigido um problema em que tocar e arrastar em um Button em a ScrollViewer o deixava em um estado pressionado.
  • Atualização do IntelliSense, que estava faltando informações para muitos tipos e membros mais recentes.
  • Corrigido um problema em que clicar em uma área vazia de um ScrollViewer sempre movia o foco para o primeiro controle focalizável no ScrollViewer e rolava esse controle para exibição. Para obter mais informações, consulte o problema #597 do GitHub.
  • Corrigido um problema em que o evento às vezes disparava Window.Activated várias vezes. Para obter mais informações, consulte o problema #7343 do GitHub.
  • Corrigido um problema em que definir a NavigationViewItem.IsSelected propriedade impedia true que seus filhos fossem exibidos quando expandidos. Para obter mais informações, consulte o problema #7930 do GitHub.
  • Corrigido um problema em que MediaPlayerElement não exibia corretamente legendas com None ou DropShadow efeitos de borda. Para obter mais informações, consulte o problema #7981 do GitHub.
  • Corrigido um problema em que a Flyout.ShowMode propriedade não era usada ao mostrar o submenu. Para obter mais informações, consulte o problema #7987 do GitHub.
  • Corrigido um problema em que NumberBox às vezes havia erros de arredondamento. Para obter mais informações, consulte o problema #8780 do GitHub.
  • Corrigido um problema em que o uso de uma biblioteca compilada em uma versão mais antiga do WinAppSDK poderia ocorrer um erro ao tentar localizar um tipo ou propriedade. Para obter mais informações, consulte o problema #8810 do GitHub.
  • Corrigido um problema em que o foco inicial do teclado não era definido ao iniciar uma janela. Para obter mais informações, consulte o problema #8816 do GitHub.
  • Corrigido um problema em que FlyoutShowMode.TransientWithDismissOnPointerMoveAway não funcionava após a primeira vez que era mostrado. Para obter mais informações, consulte o problema #8896 do GitHub.
  • Corrigido um problema em que alguns controles não associavam e propriedades de modelo Foreground Background corretamente. Para obter mais informações, consulte os problemas #7070, #9020, #9029, #9083 e #9102 do GitHub.
  • Corrigido um problema em que ThemeResources usados em VisualStateManager setters não eram atualizados na mudança de tema. Isso geralmente afetava os controles em submenus. Para obter mais informações, consulte o problema #9198 do GitHub.
  • Corrigido um problema em que WebView perdia o foco principal, resultando em eventos extras de desfoque/foco e outros problemas. Para obter mais informações, consulte o problema #9288 do GitHub.
  • Corrigido um problema em que NavigationView poderia mostrar um erro de associação na saída de depuração. Para obter mais informações, consulte o problema #9384 do GitHub.
  • Corrigido um problema em que os arquivos SVG que definiam uma caixa de visualização negativa não eram mais renderizados. Para obter mais informações, consulte o problema #9415 do GitHub.
  • Corrigido um problema em que alterar ItemsView.Layout a orientação fazia com que um item fosse removido. Para obter mais informações, consulte o problema #9422 do GitHub.
  • Corrigido um problema em que a ScrollView rolagem gerava muita saída de depuração. Para obter mais informações, consulte o problema #9434 do GitHub.
  • Corrigido um problema em que MapContorl.InteractiveControlsVisible não funcionava corretamente. Para obter mais informações, consulte o problema #9486 do GitHub.
  • Corrigido um problema em que MapControl.MapElementClick o evento não era acionado corretamente. Para obter mais informações, consulte o problema #9487 do GitHub.
  • Corrigido um problema em que x:Bind não verificava se havia nulo antes de usar uma referência fraca, o que poderia resultar em uma falha. Para obter mais informações, consulte o problema #9551 do GitHub.
  • Corrigido um problema em que a alteração da TeachingTip.Target propriedade não atualizava corretamente sua posição. Para obter mais informações, consulte o problema #9553 do GitHub.
  • Corrigido um problema em que as listas suspensas não respondiam no WebView2. Para obter mais informações, consulte o problema #9566 do GitHub.
  • Corrigido um vazamento de memória ao usar GeometryGroup. Para obter mais informações, consulte o problema #9578 do GitHub.
  • Corrigido um problema em que rolar por um número muito grande de itens de um ItemRepeater em um ScrollView poderia causar quadros de renderização em branco. Para obter mais informações, consulte o problema #9643 do GitHub.
  • Corrigido um problema em que SceneVisual não estava funcionando.

Novas APIs na versão 1.6.0-preview1

A versão 1.6-preview1 inclui as seguintes novas APIs em comparação com a versão estável 1.5:

Microsoft.UI

    ColorHelper
        ToDisplayName
Microsoft.UI.Input

    EnteredMoveSizeEventArgs
    EnteringMoveSizeEventArgs
    ExitedMoveSizeEventArgs
    InputNonClientPointerSource
        EnteredMoveSize
        EnteringMoveSize
        ExitedMoveSize
        WindowRectChanged
        WindowRectChanging

    MoveSizeOperation
    WindowRectChangedEventArgs
    WindowRectChangingEventArgs
Microsoft.UI.Xaml

    XamlRoot
        CoordinateConverter
Microsoft.UI.Xaml.Automation.Peers

    ScrollPresenterAutomationPeer
Microsoft.UI.Xaml.Controls

    PipsPager
        WrapMode
        WrapModeProperty

    PipsPagerWrapMode
    TabView
        CanTearOutTabs
        CanTearOutTabsProperty
        ExternalTornOutTabsDropped
        ExternalTornOutTabsDropping
        TabTearOutRequested
        TabTearOutWindowRequested

    TabViewExternalTornOutTabsDroppedEventArgs
    TabViewExternalTornOutTabsDroppingEventArgs
    TabViewTabTearOutRequestedEventArgs
    TabViewTabTearOutWindowRequestedEventArgs
Microsoft.Windows.Globalization

    ApplicationLanguages
Microsoft.Windows.Management.Deployment

    EnsureReadyOptions
        RegisterNewerIfAvailable

    PackageDeploymentFeature
    PackageDeploymentManager
        IsPackageDeploymentFeatureSupported
        IsPackageProvisioned
        IsPackageProvisionedByUri
        IsPackageReadyOrNewerAvailable
        IsPackageReadyOrNewerAvailableByUri
        IsPackageSetProvisioned
        IsPackageSetReadyOrNewerAvailable

    PackageReadyOrNewerAvailableStatus
Microsoft.Windows.Storage

    ApplicationData
    ApplicationDataContainer
    ApplicationDataContract
    ApplicationDataCreateDisposition
    ApplicationDataLocality