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:
- Si quiere actualizar una aplicación existente de una versión anterior del SDK de aplicaciones de Windows a una versión más reciente, consulte Actualización de proyectos existentes a la versión más reciente del SDK de aplicaciones de Windows.
- Para obtener documentación sobre la publicación de versiones preliminares, consulte Instalación de herramientas para canales experimentales y de versión preliminar del SDK de Aplicaciones para Windows.
Archivo de notas de la versión del canal de versión preliminar:
- Notas de la versión del canal en versión preliminar de la SDK de Aplicaciones para Windows 1.5
- Notas de la versión del canal de versión preliminar para el SDK de Aplicaciones para Windows 1.4
- Notas de la versión del canal de versión preliminar para el SDK de Aplicaciones para Windows 1.3
- Notas de la versión del canal de versión preliminar para el SDK de Aplicaciones para Windows 1.2
- Notas de la versión del canal en versión preliminar de la SDK de Aplicaciones para Windows 1.1
- Notas de la versión del canal de versión preliminar para el SDK de Aplicaciones para Windows 1.0
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 cuandoPublishSingleFile
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 elMaxLength
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 nuevaPrimaryLanguageOverride
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 incorrectoIsExpanded
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/ComboBox
TextBox
. 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 enScrollViewer
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 entrue
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 conNone
efectos perimetrales oDropShadow
. 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 yBackground
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
ThemeResource
el que los establecedores usados enVisualStateManager
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