Compartir a través de


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

El canal estable proporciona versiones del SDK de aplicaciones de Windows compatibles con el uso de aplicaciones en entornos de producción. Las aplicaciones que usan la versión estable del SDK de aplicaciones de Windows también se pueden publicar en Microsoft Store.

Vínculos importantes:

Versión del canal estable más reciente:

Descargas para el SDK de Aplicaciones para Windows

Nota:

Las extensiones de Visual Studio (VSIX) del SDK de Aplicaciones para Windows ya no se distribuyen como descarga independiente. Están disponibles en Visual Studio Marketplace dentro de Visual Studio.

Versión 1.2.5 (1.2.230313.1)

Se trata de una versión de mantenimiento del SDK de aplicaciones de Windows que incluye correcciones de errores críticos de la versión 1.2.

  • Se ha corregido un problema que hacía que las aplicaciones se bloquearan durante el apagado de Composition.
  • Se ha corregido un problema que hacía que las aplicaciones continuaran ejecutando animaciones incluso cuando la pantalla estaba desactivada.
  • Se ha corregido un problema que provocaba un error en la entrada táctil y del mouse en WebView2 cuando la entrada del mouse y el teclado se producían simultáneamente. Para más información, consulte el problema 3266 de GitHub.

Versión 1.2.4 (1.2.230217.4)

Se trata de una versión de mantenimiento del SDK de aplicaciones de Windows que incluye correcciones de errores críticos de la versión 1.2.

  • Se ha corregido un problema que hacía que las aplicaciones independientes no pudieran establecer la configuración de UAC. Para más información, consulte el problema 3376 de GitHub.
  • Se ha corregido un problema que hacía que las notificaciones push devolvieran una hora de expiración inexacta con PushNotificationChannel::ExpirationTime. Para más información, consulte el problema 3300 de GitHub.
  • Se ha corregido un problema que hacía que los números negativos se consideraran "no válidos" al pasar un valor doble como parámetro a una función x:Bind.
  • Varias correcciones para actualizar VSIX de WinUI. Estas actualizaciones incluían la simplificación de la plantilla de proyecto dipAwareness en app.manifest, la eliminación de las plantillas para UWP, la actualización de archivos de recursos localizados, la adición del identificador de teléfono para desbloquear el envío de Store y la eliminación del aviso de copyright y la licencia. Para más información, consulte los problemas 5659, 3205, 3323, 3322 y 3143 de GitHub.

Versión 1.2.3 (1.2.230118.102)

Se trata de una versión de mantenimiento del SDK de aplicaciones de Windows que incluye correcciones de errores críticos de la versión 1.2.

  • Se ha corregido un problema que hacía que las aplicaciones WinUI 3 se bloquearan cuando se cerraban varias ventanas.
  • Se ha corregido un problema que provocaba un bloqueo al cerrar la aplicación cuando se llamaba a dos o más referencias a la interfaz ThreadPoolTimer. Para más información, consulte los problemas 7260 y 7239 de GitHub.
  • Se ha corregido un problema que hacía que todas las aplicaciones MSIX de un solo proyecto se ejecutaran como de plena confianza. Para más información, consulte el problema 7766 de GitHub.

Versión 1.2.2 (1.2.221209.1)

Se trata de una versión de mantenimiento del SDK de aplicaciones de Windows que incluye correcciones de errores críticos de la versión 1.2.

  • Se ha corregido un problema que hacía que los paquetes de instalación previa y de Store (por ejemplo, del instalador, NuGet y el programa previo) no se instalaran si el otro ya estaba instalado. Para más información, consulte el problema 3168 de GitHub.
  • Se ha corregido un problema que provocaba la falta de efectos de elasticidad y curvas de animación al desplazarse con un panel táctil. Para más información, consulte el problema 7874 de GitHub.
  • Se ha corregido un problema en ListView que provocaba pérdidas de memoria.
  • Se ha corregido un problema que hacía que la plantilla Button no respetase la propiedad Foreground después de situar el puntero del mouse. Para más información, consulte el problema 7208 de GitHub.
  • Se ha corregido un problema que provocaba una excepción innecesaria cuando no había ningún objeto MediaPlaybackItem en un objeto MediaElement.
  • Se ha corregido un problema que hacía que apareciera un marco blanco en MediaPlayerElement en las transiciones de contenido.
  • Se han corregido problemas adicionales que hacían que App.UnhandledException no detectara excepciones de otros subprocesos. Para más información, consulte los problemas 1259 y 5221 de GitHub.

Versión 1.2.1 (1.2.221116.1)

Se trata de una versión de mantenimiento del SDK de aplicaciones de Windows que incluye una corrección de errores críticos de la versión 1.2.

Se ha corregido un problema que provocaba un bloqueo al iniciarse en aplicaciones WinUI 3 de C++ al agregar un control WebView2 o TextBox. Para obtener más información, consulte los problemas 7911 y 3117 de GitHub.

características nuevas y actualizadas y problemas conocidos de la versión 1.2

En las secciones siguientes se describen las características nuevas y actualizadas y los problemas conocidos de 1.2.

Nota:

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. Cuando se lance, WinAppSDK 1.2 también admitirá .NET 7.

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 integrados. 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 de terceros, 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 de Windows Insider Preview (WIP) que sea igual o posterior a la versión 25217, 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.
  • Solo se pueden crear widgets para aplicaciones Win32 empaquetadas. Está previsto admitir widgets para aplicaciones web progresivas en Microsoft Edge 108.

DisplayInformation

Ahora las aplicaciones de escritorio de Windows pueden admitir Alto rango dinámico (HDR) y Administración automática de colores (ACM) a través de la clase DisplayInformation del SDK de Aplicaciones para Windows. 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.

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.

Problemas corregidos:

Limitaciones conocidas:

  • Al crear un nuevo proyecto de WinUI 3 con Visual Studio 2022 17.4.0, hará referencia a una versión preliminar del SDK de Aplicaciones para Windows. Use el Administrador de paquetes NuGet para actualizar la referencia a esta versión.
  • Se produce un error al establecer MediaPlayerElement.Source en el URI relativo (ms-appx/ms-resource) en aplicaciones no empaquetadas. La solución alternativa recomendada es convertir el URI relativo ms-appx:/// en un URI de tipo file:/// totalmente resuelto.

Recorte de aplicaciones desarrolladas con .NET

Los desarrolladores de .NET ahora pueden publicar 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.

Compatibilidad con Visual Studio Arm64

Ya en Project Reunion (ahora WinAppSDK) 0.5, las aplicaciones desarrolladas con WinAppSDK podían ejecutarse en Arm64. A partir de Visual Studio 17.3 Preview 2, se pueden desarrollar aplicaciones nativas con WinAppSDK en dispositivos Arm64.

Para empezar a desarrollar aplicaciones en un dispositivo Arm64, consulte Windows en Arm y Visual Studio Arm64.

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 (administración de ventanas):

Las personalizaciones básicas 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.

Otros problemas conocidos y limitaciones

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.

  • Las pruebas unitarias pueden producir un error REGDB_E_CLASSNOTREG en el panel de salida Pruebas de Visual Studio. Como solución alternativa, agregue <WindowsAppContainer>true</WindowsAppContainer> al archivo del proyecto.
  • No se admite PublishSingleFile de .NET.
  • 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>.
  • Microsoft.WindowsAppRuntime.Release.Net.dll es siempre un archivo binario Arm64 y no funciona para aplicaciones x86 y x64. Cuando llame explícitamente a la API de arranque, no use el ensamblado Microsoft.WindowsAppRuntime.Release.Net.dll. Como solución alternativa, puede incluir constantes de versión en este archivo de código fuente que se distribuye con el paquete NuGet: “..\include\WindowsAppSDK-VersionInfo.cs”, o bien utilice el inicializador automático.