Notas de la versión del canal de versión preliminar más reciente para el SDK de Aplicaciones para Windows

Importante

El canal de versión preliminar no es compatible para el uso en entornos de producción, y las aplicaciones que utilizan las versiones preliminares no se pueden publicar en Microsoft Store.

El canal de versión preliminar incluye versiones del SDK de Aplicaciones para Windows con características del canal de versión preliminar en fases tardías de desarrollo. Las versiones preliminares no incluyen características experimentales y API, pero pueden estar sujetas a cambios importantes antes de la próxima versión estable.

Vínculos importantes:

Archivo de notas de la versión del canal de versión preliminar:

Versión 1.6 Preview 2 (1.6.0-preview2)

Esta es la versión más reciente del canal de versión preliminar de la versión 1.6.

En una aplicación existente de SDK de Aplicaciones para Windows 1.5 (desde el canal estable), puede actualizar el paquete Nuget a 1.6.0-preview2 (consulte la sección Actualización de un paquete en Instalación y administración de paquetes en Visual Studio mediante el Administrador de paquetes de NuGet).

Para obtener actualizaciones del entorno de ejecución y MSIX, consulte Descargas del SDK de aplicaciones de Windows.

Nuevas características

Cambios de proyecto de C# necesarios para la versión 1.6-preview2

La guía del proyecto de C# de la versión 1.6-preview1 también es necesaria para esta versión.

Compatibilidad con AOT nativo

1.6-preview2 incluye cambios significativos para actualizar a la versión 2.1.1 de Microsoft.Windows.CsWinRT publicada y hacer que la compilación sea más confiable para la compilación nativa De antemano.

Se ha actualizado la integración del SDK de WebView2 de Edge

Esta versión ahora hace referencia a la versión 1.0.2651.64 del Microsoft.Web.WebView2 paquete, que debe corregir los problemas alcanzados con la versión preliminar a la que se hace referencia en la versión preliminar 1.6-preview1. Como se indicó en 1.6-preview1, las aplicaciones ahora pueden elegir una versión más reciente del Microsoft.Web.WebView2 paquete si lo desea.

Correcciones de errores

1.6-preview2 contiene las siguientes correcciones nuevas desde la versión 1.6-preview1:

  • Se ha corregido un bloqueo al establecer InfoBar.IsOpen en .xaml. Para obtener más información, consulte El problema de GitHub n.º 8391.
  • Se ha corregido un problema por el que los elementos HTML perderían la captura del puntero cuando el mouse se mueve fuera de los WebView2 límites. Para obtener más información, consulte el problema de GitHub n.º 8677.
  • Se ha corregido un problema por el que el arrastrar y colocar en un control flotante con ShouldConstrainToRootBounds=false no funcionaba. Para obtener más información, consulte el problema de GitHub n.º 9276.
  • Se ha corregido un problema por el que ms-appx:// las referencias no funcionaban cuando PublishSingleFile está habilitada. Para obtener más información, consulte El problema de GitHub n.º 9468.
  • Se ha corregido un problema por el que los símbolos del depurador no funcionaban correctamente para algunos archivos binarios. Para obtener más información, consulte Problema de GitHub n.º 4633.
  • Se ha corregido un salto de compilación al usar /permissive-. Para obtener más información, consulte el problema de GitHub n.º 4643.
  • Se ha corregido un par de cambios importantes en la API en la versión 1.6-preview1 causada por parámetros cambiados de nombre. Para obtener más información, consulte el problema de GitHub n.º 4645.
  • Se han corregido saltos de compilación de conflictos de tipos alcanzados por algunos proyectos en la versión 1.6-preview1, especialmente con Windows.UI.Text tipos. Para obtener más información, consulte problema de GitHub n.º 4646.
  • Se ha corregido un problema con las búsquedas de recursos por bibliotecas de control en la versión 1.6-preview1. Para obtener más información, consulte El problema de GitHub n.º 4649.
  • Se ha corregido un posible bloqueo al subclasar NavigationView.
  • Se ha corregido un problema por el que los bordes de tabla de un RichEditBox no se borraban correctamente al desplazarse o reducir el tamaño de la tabla.
  • Se ha corregido un problema por el que los controles flotantes de MediaTransportControls tenían un fondo totalmente transparente.
  • Se ha corregido un problema por el que se produciría un error al arrastrar a webView2 o se colocaba en la ubicación incorrecta en factores de escala de pantalla distintos del 100 % o cuando se habilita el escalado de texto del sistema.
  • Se ha corregido un problema por el que TextBox/RichEditBox no se anunciaba a las herramientas de accesibilidad cuando la entrada está bloqueada debido a que se encuentra en el MaxLength límite.

Versión preliminar 1.6 (1.6.0-preview1)

Esta es la versión más reciente del canal de versión preliminar de la versión 1.6.

En una aplicación existente de SDK de Aplicaciones para Windows 1.5 (desde el canal estable), puede actualizar el paquete Nuget a 1.6.0-preview1 (consulte la sección Actualización de un paquete en Instalación y administración de paquetes en Visual Studio mediante el Administrador de paquetes NuGet).

Para obtener actualizaciones del entorno de ejecución y MSIX, consulte Descargas del SDK de aplicaciones de Windows.

Nuevas características

Nota:

El nuevo control TitleBar que publicamos en la versión 1.6-experimental1 aún no está disponible en compilaciones no experimentales de 1.6 para permitir más tiempo para evaluar y responder a los comentarios de la comunidad. Hemos recibido una gran cantidad de entradas excelentes aquí y queremos asegurarnos de que tomamos el tiempo necesario para abordarlo.

Cambios de proyecto de C# necesarios para la versión 1.6-preview1

En 1.6-preview1, SDK de Aplicaciones para Windows aplicaciones administradas requieren Microsoft.Windows.SDK.NET.Ref *.*.*.38, que se puede especificar a través de WindowsSdkPackageVersion en el csproj archivo. Por ejemplo:

<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>
   ...

Además, SDK de Aplicaciones para Windows aplicaciones administradas deben actualizarse a Microsoft.Windows.CsWinRT 2.1.1 (o posterior).

Compatibilidad con AOT nativo

La propiedad del proyecto de .NET PublishAot ahora se admite para la compilación nativa De antemano. Para obtener más información sobre AOT nativo, consulte Implementación de AOT nativa. Dado que AOT se basa en la compatibilidad con trimming, gran parte de las instrucciones relacionadas con trimming descritas anteriormente en la versión 1.6-experimental1 también se aplica. Consulta Compatibilidad con AOT nativo para obtener más información.

Como se indicó anteriormente, los proyectos de C# deben tener una referencia de paquete a Microsoft.Windows.CsWinRT 2.1.1 (o posterior). Esta versión incluye una implementación segura de ICustomPropertyProvider AOT. Los tipos usados con esta compatibilidad deben marcarse con el WinRT.GeneratedBindableCustomProperty atributo junto con la marca .partial

Se ha cambiado la integración del SDK de WebView2 de Edge

El SDK de Aplicaciones para Windows ahora consume el SDK de Edge WebView2 como referencia de NuGet en lugar de insertar una versión codificada de forma segura del SDK de Edge WebView2. El nuevo modelo permite a las aplicaciones elegir una versión más reciente del Microsoft.Web.WebView2 paquete en lugar de limitarse a la versión con la que se creó el SDK de Aplicaciones para Windows. El nuevo modelo también permite a las aplicaciones hacer referencia a paquetes NuGet que también hacen referencia al SDK de WebView2 de Edge. Para obtener más información, consulte El problema de GitHub n.º 5689.

Nuevas API de implementación de paquetes

La API de administración de paquetes ha recibido varias mejoras, como Is*ReadyOrNewerAvailable*(), EnsureReadyOptions.RegisterNewerIfAvailable, Is*Provisioned*(), IsPackageRegistrationPending() y varias correcciones de errores. Consulte PackageManagement.md y solicitud de incorporación de cambios n.º 4453 para obtener más información.

Desmontaje mejorado de la pestaña TabView

TabView admite un nuevo CanTearOutTabs modo que proporciona una experiencia mejorada para arrastrar pestañas y arrastrar a una nueva ventana. Cuando esta nueva opción está habilitada, el arrastre de pestañas es muy similar a la experiencia de arrastre de pestañas en Edge y Chrome, donde se crea inmediatamente una nueva ventana durante la arrastrar, lo que permite al usuario arrastrarlo al borde de la pantalla para maximizar o ajustar la ventana en un movimiento suave. Esta implementación tampoco usa api de arrastrar y colocar, por lo que no se ve afectada por ninguna limitación en esas API. En particular, el desmontaje de tabulación se admite en los procesos que se ejecutan con privilegios elevados como administrador.

Otros cambios importantes

  • Hemos agregado una nueva ColorHelper.ToDisplayName() API, rellenando esa brecha de UWP.
  • Se ha agregado una nueva Microsoft.Windows.Globalization.ApplicationLanguages clase, que en particular incluye una nueva PrimaryLanguageOverride característica. Para obtener más información, consulte El problema de GitHub n.º 4523.
  • Sin secar ItemsWrapGrid. Debe ser un cambio compatible con versiones anteriores.
  • PipsPager admite un nuevo modo en el que puede encapsular entre los primeros y los elementos de lista.
  • RatingControl ahora es más personalizable, moviendo algunas propiedades de estilo codificadas de forma rígida a los recursos del tema. Esto permite que las aplicaciones invaliden estos valores para personalizar mejor la apariencia de RatingControl.

Problemas conocidos

  • Si el depurador está establecido para interrumpirse en todas las excepciones de C++, se interrumpirá en un par de excepciones ruidosas en el inicio en el código BCP47 (Globalización de Windows).

Correcciones de errores

  • Se han corregido algunos problemas relacionados con el control de escenarios de barra de título personalizados. Para obtener más información, consulte Problemas de GitHub #7629, #9670, #9709 y #8431.
  • Se ha corregido un problema por el que InfoBadge el icono no estaba visible. Para obtener más información, consulte el problema de GitHub n.º 8176.
  • Se ha corregido un problema con los iconos que a veces se muestran en la posición incorrecta en CommandBarFlyout. Para más información, consulte el problema 9409 de GitHub.
  • Se ha corregido un problema con el foco del teclado en los menús al abrir o cerrar un submenú. Para obtener más información, consulte El problema de GitHub n.º 9519.
  • Se ha corregido un problema con TreeView el uso del estado incorrecto IsExpanded al reciclar los elementos. Para obtener más información, consulte El problema de GitHub n.º 9549.
  • Se ha corregido un problema al usar un enlace ElementName en un ItemsRepeater.ItemTemplate. Para obtener más información, consulte el problema de GitHub n.º 9715.
  • Se ha corregido un problema con el primer elemento de una ItemsRepeater posición incorrecta. Para obtener más información, consulte el problema de GitHub n.º 9743.
  • Se ha corregido un problema que InputNonClientPointerSource provocaba que a veces se interrumpira la entrada en los botones min/max/close. Para obtener más información, consulte El problema de GitHub n.º 9749.
  • Se ha corregido un error de compilación al usar Microsoft.UI.Interop.h con clang-cl. Para obtener más información, consulte el problema de GitHub n.º 9771.
  • Se ha corregido un problema por el que el CharacterReceived evento no funcionaba en/ComboBoxTextBox . Para obtener más información, consulte El problema de GitHub n.º 9786.
  • Se ha corregido el problema en las compilaciones experimentales 1.6 en las que el comportamiento de entrada del puntero para CanTearOutTabs era incorrecto en monitores con un factor de escala diferente al 100 %. Para obtener más información, consulte el problema de GitHub n.º 9791.
  • Se ha corregido el problema en la compilación 1.6-experimental2 en la que algunas traducciones del lenguaje tenían problemas de codificación de caracteres para ColorHelper.ToDisplayName().
  • Se ha corregido un problema de 1.6-experimental1 en el que NumberBox no usaba los colores de primer plano y de fondo correctos. Para obtener más información, consulte El problema de GitHub n.º 9714.
  • Se ha corregido un problema por el que se provocaban eventos duplicados KeyUp para las teclas de flecha y tabulación. Para obtener más información, consulte el problema de GitHub n.º 9399.
  • Se ha corregido un problema por el que el PowerManager.SystemSuspendStatusChanged evento no era utilizable para obtener .SystemSuspendStatus Para obtener más información, consulte El problema de GitHub n.º 2833.
  • Se ha corregido un problema por el que el foco inicial del teclado no se daba correctamente a un WebView2 momento en el que era el único control de la ventana.
  • Se ha corregido un problema al usar ExtendsContentIntoTitleBar=true donde los botones Min/Max/Close no aparecían correctamente en el Automatización de la interfaz de usuario, lo que impedía que el acceso por voz mostrara números para esos botones.
  • Se ha corregido un problema que provocaba que una aplicación se bloqueara en una comprobación de bloqueo debido a una reentrada inesperada.
  • Se ha corregido un problema por el que Hyperlink los colores no se actualizaban correctamente al cambiar a un tema de contraste alto.
  • Se ha corregido un problema por el que cambiar la colección de en ListView una ventana en segundo plano podría mover incorrectamente esa ventana al primer plano y centrarse.
  • Se ha corregido un problema de 1.6-experimental1 en el que la configuración AcrylicBrush.TintLuminosityOpacity en .xaml en un proyecto de biblioteca de clases se bloqueaba con un error de conversión de tipos.
  • Se ha corregido un problema por el que llamar ItemsRepeater.StartBringIntoView a veces podía provocar que los elementos desaparezcan.
  • Se ha corregido un problema por el que tocar y arrastrar un elemento en un Button ScrollViewer elemento lo dejaría en estado presionado.
  • Se ha actualizado IntelliSense, que faltaba información para muchos tipos y miembros más recientes.
  • Se ha corregido un problema por el que al hacer clic en un área vacía de un ScrollViewer elemento siempre se mueve el foco al primer control que se puede centrar en ScrollViewer y se desplaza hacia la vista. Para obtener más información, consulte problema de GitHub n.º 597.
  • Se ha corregido un problema por el que el Window.Activated evento a veces se desencadenaba varias veces. Para obtener más información, consulte El problema de GitHub n.º 7343.
  • Se ha corregido un problema por el que establecer la NavigationViewItem.IsSelected propiedad en true impedía que sus elementos secundarios se mostraran cuando se expandían. Para obtener más información, consulte el problema de GitHub n.º 7930.
  • Se ha corregido un problema por el que MediaPlayerElement no mostraba correctamente los títulos con None efectos perimetrales o DropShadow . Para obtener más información, consulte el problema de GitHub n.º 7981.
  • Se ha corregido un problema por el que la Flyout.ShowMode propiedad no se usaba al mostrar el control flotante. Para obtener más información, consulte el problema de GitHub n.º 7987.
  • Se ha corregido un problema por el que NumberBox a veces tendría errores de redondeo. Para obtener más información, consulte El problema de GitHub n.º 8780.
  • Se ha corregido un problema por el que el uso de una biblioteca compilada en una versión anterior de WinAppSDK podía producir un error al intentar encontrar un tipo o una propiedad. Para obtener más información, consulte el problema de GitHub n.º 8810.
  • Se ha corregido un problema por el que el foco inicial del teclado no se estableció al iniciar una ventana. Para obtener más información, consulte El problema de GitHub n.º 8816.
  • Se ha corregido un problema por FlyoutShowMode.TransientWithDismissOnPointerMoveAway el que no funcionaba después de la primera vez que se mostraba. Para obtener más información, consulte El problema de GitHub n.º 8896.
  • Se ha corregido un problema por el que algunos controles no enlazaban correctamente Foreground las plantillas y Background las propiedades. Para obtener más información, consulte el problema de GitHub n.º 7070, #9020, #9029, #9083 y #9102.
  • Se ha corregido un problema por ThemeResourceel que los establecedores usados en VisualStateManager establecedores no se actualizaban en el cambio de tema. Estos controles suelen verse afectados en controles flotantes. Para obtener más información, consulte el problema de GitHub n.º 9198.
  • Se ha corregido un problema por el que WebView perdería el foco clave, lo que provocaba eventos de desenfoque y otros problemas adicionales. Para obtener más información, consulte el problema de GitHub n.º 9288.
  • Se ha corregido un problema por el que NavigationView podía mostrar un error de enlace en la salida de depuración. Para obtener más información, consulte problema de GitHub n.º 9384.
  • Se ha corregido un problema por el que los archivos SVG que definen un cuadro de vista negativo ya no se representan. Para obtener más información, consulte El problema de GitHub n.º 9415.
  • Se ha corregido un problema por el que cambiar ItemsView.Layout la orientación provocaba que se quitara un elemento. Para obtener más información, consulte El problema de GitHub n.º 9422.
  • Se ha corregido un problema por el que el desplazamiento de una ScrollView gran cantidad de resultados de depuración generaba una gran cantidad de resultados de depuración. Para obtener más información, consulte el problema de GitHub n.º 9434.
  • Se ha corregido un problema por el que MapContorl.InteractiveControlsVisible no funcionaba correctamente. Para obtener más información, consulte el problema de GitHub n.º 9486.
  • Se ha corregido un problema por el que MapControl.MapElementClick el evento no se desencadenaba correctamente. Para obtener más información, consulte el problema de GitHub n.º 9487.
  • Se ha corregido un problema por el que x:Bind no compruebaba null antes de usar una referencia débil, lo que podía provocar un bloqueo. Para obtener más información, consulte Problema de GitHub n.º 9551.
  • Se ha corregido un problema por el que cambiar la TeachingTip.Target propiedad no actualizaba correctamente su posición. Para obtener más información, consulte El problema de GitHub n.º 9553.
  • Se ha corregido un problema por el que las listas desplegables no respondieron en WebView2. Para obtener más información, consulte El problema de GitHub n.º 9566.
  • Se ha corregido una pérdida de memoria al usar GeometryGroup. Para obtener más información, consulte Problema de GitHub n.º 9578.
  • Se ha corregido un problema por el que el desplazamiento a través de un número muy grande de elementos de en un ItemRepeater ScrollView elemento podía provocar fotogramas de representación en blanco. Para obtener más información, consulte el problema de GitHub n.º 9643.
  • Se ha corregido un problema por SceneVisual el que no funcionaba.

Nuevas API en la versión 1.6.0-preview1

La versión 1.6-preview1 incluye las siguientes API nuevas en comparación con la versión estable 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