Compartir a través de


Notas de la versión del canal de versión preliminar para el SDK de Aplicaciones para Windows 1.2

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:

Versión del canal de versión preliminar más reciente:

Versión del canal estable más reciente:

Versión 1.2, Preview 2) (1.2.0-preview2)

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

En una aplicación existente del SDK de Aplicaciones para Windows 1.1 (del canal estable), puede actualizar el paquete NuGet a la versión 1.2.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 NuGet).

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

Importante

Visual Studio 2019 y .NET 5 ya no se admiten para la creación de aplicaciones de C# (consulte El SDK de aplicaciones de Windows 1.2 se ha pasado a WinRT 2.0 en C#). Necesitará Visual Studio 2022 y una de las siguientes versiones del SDK de .NET: 6.0.401 (o posterior), 6.0.304, 6.0.109.

Para actualizar la versión del SDK de .NET, instale la versión más reciente de Visual Studio 2022 o vaya a Descargas de .NET. Al actualizar el paquete NuGet sin la versión necesaria del SDK de .NET, verá un error parecido a este: "Esta versión de WindowsAppSDK requiere .NET 6+ y la versión 2.0 o posterior de WinRT.Runtime.dll". Para actualizar el proyecto de .NET 5.0 a .NET 6.0, abra el archivo de proyecto y cambie "TargetFramework" a net6.0 y "Target OS version" al valor que corresponda (por ejemplo, net6.0-windows10.0.19041.0).

Widgets de terceros en Windows

El panel de widgets se introdujo por primera vez en Windows 11 y estaba limitado a mostrar los widgets propios. Los widgets son pequeños contenedores de interfaz de usuario que muestran texto y gráficos en el panel de widgets, y están asociados a una aplicación instalada en el dispositivo. Con el SDK de Aplicaciones para Windows, como desarrollador externo, ahora puede crear widgets para aplicaciones Win32 empaquetadas y probarlos localmente en el panel de widgets de Windows 11.

Para obtener más información sobre los widgets, consulte Introducción a los widgets.

Para empezar a desarrollar widgets para una aplicación, consulte la documentación sobre desarrollo para proveedores de widgets y los Aspectos básicos del diseño de widgets para conocer los requisitos previos y obtener instrucciones y procedimientos recomendados.

Los requisitos previos para esta versión son los siguientes:

  • Modo de desarrollador habilitado en la máquina de desarrollo.
  • La máquina de desarrollo debe ejecutar una versión de Windows del Canal de desarrolladores del Programa Windows Insider (WIP) con la versión 521.20060.1205.0 o posterior del panel de widgets.

Limitaciones conocidas del desarrollo de widgets

  • Los widgets de terceros solo se pueden probar localmente en dispositivos inscritos en WIP para esta versión preliminar. En el SDK de Aplicaciones para Windows 1.2.0, los usuarios de versiones comerciales de Windows pueden empezar a adquirir widgets 3P a través de versiones de la aplicación enviadas a través de Microsoft Store.
  • Solo se pueden crear widgets para aplicaciones Win32 empaquetadas. Está previsto admitir widgets para aplicaciones web progresivas en Microsoft Edge 108.

Recorte de aplicaciones desarrolladas con .NET

Los desarrolladores de .NET ahora pueden publicar sus aplicaciones de WinAppSDK recortadas. Con CsWinRT 2.0, las proyecciones de C#/WinRT distribuidas en WinAppSDK ahora se pueden recortar. La publicación de una aplicación recortada puede reducir la superficie de disco de la aplicación al quitar cualquier código sin usar de los archivos binarios recortables. Las aplicaciones también pueden experimentar una mejora del rendimiento en el inicio. Con una aplicación Hola mundo básica, hemos visto una mejora en la superficie de disco de aproximadamente el 80 % y una mejora del rendimiento en el inicio de aproximadamente el 7 % al publicarla recortada. Con la galería de WinUI, hemos visto una mejora aproximada del 45 % en la superficie de disco.

Para obtener más información sobre cómo habilitar el recorte, las limitaciones de recorte (como la reflexión con tipos recortables) y las advertencias de recorte, consulte Recorte de implementaciones autocontenidas y ejecutables. Los desarrolladores deben probar exhaustivamente las aplicaciones después de recortarlas para asegurarse de que todo funciona según lo previsto. Para obtener más información, consulte el problema 2478 en GitHub.

DisplayInformation

Ahora las aplicaciones Win32 pueden admitir Alto rango dinámico (HDR) a través de la clase DisplayInformation en WinAppSDK. La clase DisplayInformation permite supervisar la información relacionada con la pantalla para la vista de una aplicación. Esto incluye eventos para permitir que los clientes supervisen los cambios en la vista de la aplicación que afectan a las pantallas en las que reside la vista, así como los cambios en las pantallas que pueden afectar a la vista de la aplicación.

Problemas corregidos en WinUI 3

  • Ya se admite el material de fondo acrílico a través de DesktopAcrylicController en aplicaciones de Windows 10. Para obtener más información, consulte el problema 7112 en GitHub.
  • Se ha corregido un problema que provocaba que App.UnhandledException no se enrutase a la aplicación. Para obtener más información, consulte el problema 5221 en GitHub.
  • Se ha corregido un problema que hacía que los estilos de ListView retrocedieran y cambiaran a partir de WinAppSDK 1.1. Para obtener más información, consulte el problema 7666 en GitHub.

Otras limitaciones y problemas conocidos (1.2.0-preview2)

Importante

Al hacer referencia a WinAppSDK 1.2 en un proyecto, es posible que vea un error parecido a este: "Se detectó la degradación del paquete: Microsoft.Windows.SDK.BuildTools de 10.0.22621.1 a 10.0.22000.194"., que se debe a referencias al paquete incompatibles en el proyecto de aplicación y el paquete WinAppSDK. Para resolverlo, puede actualizar la referencia del proyecto a una versión más reciente y compatible de Microsoft.Windows.SDK.BuildTools o sencillamente quitar la referencia del proyecto. Si la quita del proyecto, el paquete WinAppSDK hará referencia implícitamente a una versión compatible.

  • Actualmente no se admite la compilación con Visual Studio Arm64.
  • Los valores predeterminados de inicializador automático Bootstrapper y Undocked RegFree WinRT ahora solo se establecen para proyectos que generan un archivo ejecutable (OutputType=Exe o WinExe). Esto evita que se agreguen inicializadores automáticos en archivos DLL de biblioteca de clases y otros no ejecutables de forma predeterminada.
    • Si necesita un inicializador automático en un archivo no ejecutable (por ejemplo, un archivo DLL de prueba cargado por un ejecutable genérico que no inicialice el programa previo) puede habilitar explícitamente un inicializador automático en el proyecto a través de <WindowsAppSdkBootstrapInitialize>true</WindowsAppSdkBootstrapInitialize> o <WindowsAppSdkUndockedRegFreeWinRTInitialize>true</WindowsAppSdkUndockedRegFreeWinRTInitialize>.
  • Se puede llamar a las API de información de versión (ReleaseInfo y RuntimeInfo), pero se devuelve la versión 0 (no la información de versión real).

Versión 1.2, Preview 1 (1.2.0-preview1)

En una aplicación existente del SDK de Aplicaciones para Windows 1.1 (del canal estable), puede actualizar el paquete NuGet a la versión 1.2.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 más reciente.

WinUI 3

Las aplicaciones de WinUI 3 pueden reproducir audio y vídeo con los controles de reproducción multimedia MediaPlayerElement y MediaTransportControls. Para obtener más información sobre cómo y cuándo usar controles multimedia, consulte Instancias de Media Player.

WinUI 3 se ha actualizado con los controles, estilos y acciones más recientes de WinUI 2.8. Estas actualizaciones incluyen la adición del control InfoBadge, mejoras de accesibilidad y del modo de contraste alto, así como correcciones de errores en los controles. Para obtener más información, consulte las notas de la versión de WinUI 2.7 y WinUI 2.8.

Problema conocido

Los estilos ListView se han regresado y cambiado de WinAppSDK 1.1.

Notificaciones

Se ha introducido AppNotificationBuilder como alternativa a la carga XML para crear y definir notificaciones de aplicación.

Para obtener información de uso, consulte la especificación AppNotificationBuilder en GitHub.

Consulte también Inicio rápido: Notificaciones de aplicación en el SDK de Aplicaciones para Windows para ver un ejemplo de cómo crear una aplicación de escritorio de Windows que envía y recibe notificaciones de una aplicación local.

Cambio importante

En el caso de las notificaciones push, al realizar una llamada de solicitud de canal, las aplicaciones deberán usar el identificador de objeto de Azure en lugar del identificador de aplicación de Azure. Consulte Inicio rápido: Notificaciones push en el SDK de Aplicaciones para Windows para obtener más información sobre cómo buscar el identificador de objeto de Azure.

Problema corregido

PushNotificationManager.IsSupported comprobará si la aplicación está en modo elevado. Devolverá false si la aplicación está en modo elevado.

Limitaciones conocidas (notificaciones)

Basado en ventanas

La personalización completa de la barra de título ya está disponible en Windows 10, a partir de la versión 1809, a través de la clase AppWindowTitleBar. Puede establecer AppWindowTitleBar.ExtendsContentIntoTitleBar en true para extender el contenido al área de la barra de título y SetDragRectangles para definir regiones de arrastre (además de otras opciones de personalización).

Si ha estado usando la propiedad AppWindowTitleBar.IsCustomizationSupported para comprobar si puede llamar a las API AppWindowTitleBar, ahora devuelve true en las versiones admitidas de Windows 10 (a partir de la versión 1809) para el SDK de Aplicaciones para Windows.

Limitaciones conocidas (ventanas)

Las personalizaciones sencillas de la barra de título no se admiten en Windows 10, a saber: BackgroundColor, InactiveBackgroundColor, ForegroundColor, InactiveForegroundColor y IconShowOptions. Si llama a estas propiedades, se omitirán de forma silenciosa. Todas las demás API AppWindowTitleBar funcionan en Windows 10, a partir de la versión 1809. Para las API de color de los botones de la barra de título (entre otras) y Height, ExtendsContentIntoTitleBar debe establecerse en true. De lo contrario, también se omitirán de forma silenciosa.

Control de acceso

Se ha introducido security.accesscontrol.h con la función GetSecurityDescriptorForAppContainerNames para facilitar y simplificar el uso compartido de objetos con nombre entre los procesos empaquetados y las API generales de Win32. Este método toma una lista de nombres de familia de paquete (PFN) y máscaras de acceso, y devuelve un descriptor de seguridad. Para obtener más información, consulte la especificación GetSecurityDescriptorForAppContainerNames en GitHub.

Otras limitaciones y problemas conocidos (1.2.0-preview1)

  • No se admite PublishSingleFile de .NET.