Partager via


Notes de publication du canal d'aperçu pour le SDK d'application Windows 1.2

Important

Le canal d'aperçu n'est pas pris en charge pour une utilisation dans des environnements de production, et les apps qui utilisent les versions d'aperçu ne peuvent pas être publiées sur le Microsoft Store.

La chaîne de prévisualisation comprend des versions du SDK d'application Windows avec des fonctionnalités de la chaîne de prévisualisation à des stades avancés de développement. Les versions d'évaluation n'incluent pas de fonctionnalités et d'API expérimentales, mais peuvent encore faire l'objet de modifications avant la prochaine version stable.

Liens importants :

Dernière version de la chaîne de prévisualisation :

Dernière version de la chaîne stable :

Version 1.2 Aperçu 2 (1.2.0-preview2)

Il s’agit de la dernière version de l’aperçu du canal pour la version 1.2.

Dans une application existante utilisant SDK d'application Windows 1.0 (à partir du canal stable), vous pouvez mettre à jour votre package Nuget vers 1.2.0-preview2 (consultez la section Mettre à jour un package dans Installer et gérer des packages dans Visual Studio à l'aide du gestionnaire de packages NuGet).

Pour obtenir le runtime et le MSIX mis à jour, consultez les derniers téléchargements du SDK d'application Windows.

Important

Visual Studio 2019 et .NET 5 ne sont plus pris en charge pour la création d’applications C# (voir Passage du SDK d’application Windows 1.2 à C# WinRT 2.0). Vous aurez besoin de Visual Studio 2022 et de l’une des versions suivantes du SDK .NET : 6.0.401 (ou version ultérieure), 6.0.304 ou 6.0.109.

Pour mettre à jour votre version du SDK .NET, installez la dernière version de Visual Studio 2022 ou visitez les Téléchargements .NET. Lors de la mise à jour de votre package NuGet sans la version requise du SDK .NET, vous verrez une erreur comme : « Cette version de WindowsAppSDK nécessite .NET 6+ et WinRT.Runtime.dll version 2.0 ou ultérieure ». Pour mettre à jour le projet de .NET 5.0 vers .NET 6.0, ouvrez le fichier projet et remplacez « TargetFramework » par net6.0 et « Target OS version » par la valeur appropriée (par exemple net6.0-windows10.0.19041.0).

Widgets tiers dans Windows

Le tableau de widgets a été introduit pour la première fois dans Windows 11 et se limitait à l’affichage des widgets intégrés. Les widgets sont de petits conteneurs d’IU qui affichent du texte et des graphiques sur le tableau de widgets, associés à une application installée sur l’appareil. Avec le SDK d'application Windows, en tant que développeurs tiers, vous pouvez désormais créer des widgets pour vos applications Win32 empaquetées et les tester localement sur le tableau de widgets Windows 11.

Pour plus d’informations sur les widgets, consultez Vue d’ensemble des widgets.

Pour commencer à développer des widgets pour votre application, consultez les documents de développement pour les fournisseurs de widgets et les principes de base de conception de widgets pour les prérequis, des conseils et les meilleures pratiques.

Les prérequis pour cette version comprennent les suivants :

  • Mode développeur activé sur l’ordinateur de développement.
  • L’ordinateur de développement doit exécuter une version de Windows du canal de développement de Windows Insider Preview (WIP) avec le tableau de widgets version 521.20060.1205.0 ou ultérieure.

Limitations connues lors du développement de widgets

  • Les widgets tiers ne peuvent être testés localement que sur les appareils inscrits dans WIP pour cette préversion. Dans le SDK d'application Windows 1.2.0, les utilisateurs sur les versions commerciales de Windows peuvent commencer à acquérir des widgets 3P via les versions fournies par le Microsoft Store de votre application.
  • Les widgets ne peuvent être créés que pour les applications Win32 empaquetées. Les widgets pour les applications web progressives (PWA) devraient être pris en charge dans le cadre de Microsoft Edge 108.

Découpage pour les applications développées avec .NET

Les développeurs .NET peuvent désormais publier des applications WinAppSDK découpées. Avec CsWinRT 2.0, les projections C#/WinRT distribuées dans WinAppSDK sont désormais modifiables. La publication de votre application découpée peut réduire l’empreinte disque de votre application en supprimant tout code inutilisé des fichiers binaires découpables. Les applications peuvent également ainsi voir une amélioration des performances au démarrage. Avec une application Hello World de base, nous avons constaté une amélioration de l’empreinte disque d’environ 80 % et une amélioration des performances au démarrage d’environ 7 % lors de la publication de la version découpée. Avec la galerie WinUI, nous avons constaté une amélioration de l’empreinte disque d’environ 45 %.

Pour plus d’informations sur la façon d’activer le découpage, les limitations du découpage (comme la réflexion sur les types pouvant être découpés) et les avertissements de découpage, consultez Couper les déploiements et exécutables autonomes. Les développeurs doivent tester minutieusement leurs applications après le découpage pour s’assurer que tout fonctionne comme prévu. Pour plus d’informations, consultez le problème 2478 sur GitHub.

DisplayInformation

Les applications de bureau Windows peuvent désormais prendre en charge la plage dynamique étendue (HDR) via la classe DisplayInformation dans WinAppSDK. La classe DisplayInformation vous permet de surveiller les informations relatives à l’affichage d’une vue d’application. Cela inclut les événements permettant aux clients de surveiller les modifications apportées à la vue de l’application affectant les affichages sur lesquels réside la vue, ainsi que les modifications apportées aux affichages qui peuvent affecter la vue de l’application.

Correction des problèmes dans WinUI 3

  • La toile de fond Acrylic avec DesktopAcrylicController est désormais prise en charge dans les applications Windows 10. Pour plus d’informations, consultez le problème 7112 sur GitHub.
  • Correction du problème à l’origine de l’échec de l’acheminement d’App.UnhandledException vers l’application. Pour plus d’informations, consultez le problème 5221 sur GitHub.
  • Correction d’un problème entraînant la régression et la modification des styles ListView à partir de WinAppSDK 1.1. Pour plus d’informations, consultez le problème 7666 sur GitHub.

Autres limitations et problèmes connus (1.2.0-preview2)

Important

Lorsque vous référencez WinAppSDK 1.2 à partir d’un projet, vous pourriez voir une erreur semblable à : « Rétrogradation de package détectée : Microsoft.Windows.SDK.BuildTools de 10.0.22621.1 à 10.0.22000.194 », qui est provoquée par des références incompatibles au package du projet d’application et du package WinAppSDK. Pour résoudre ce problème, vous pouvez mettre à jour la référence dans le projet vers une version plus récente et compatible de Microsoft.Windows.SDK.BuildTools. Si vous la supprimez de votre projet, une version compatible est implicitement référencée par le package WinAppSDK.

  • La construction avec Visual Studio Arm64 n'est pas prise en charge pour l’instant.
  • Les valeurs par défaut de l’initialiseur automatique WinRT RegFree et Bootstrapper RegFree sont (maintenant) définies uniquement pour les projets qui produisent un exécutable (OutputType=Exe ou WinExe). Cela empêche l’ajout d’initialiseurs automatiques dans des DLL de bibliothèques de classes et d’autres fichiers non exécutables par défaut.
    • Si vous avez besoin d’un initialiseur automatique dans un non-exécutable (par exemple, une DLL de test chargée par un exécutable générique qui n’initialise pas le Bootstrapper), vous pouvez activer explicitement un initialiseur automatique dans votre projet via <WindowsAppSdkBootstrapInitialize>true</WindowsAppSdkBootstrapInitialize> ou <WindowsAppSdkUndockedRegFreeWinRTInitialize>true</WindowsAppSdkUndockedRegFreeWinRTInitialize>.
  • Les API d’informations de version (ReleaseInfo et RuntimeInfo) peuvent être appelées, mais renvoyer la version 0 (et non les informations de version réelles).

Version 1.2 Aperçu 1 (1.2.0-preview1)

Dans une application existante utilisant SDK d'application Windows 1.0 (à partir du canal stable), vous pouvez mettre à jour votre package Nuget vers 1.2.0-preview1 (consultez la section Mettre à jour un package dans Installer et gérer des packages dans Visual Studio à l'aide du gestionnaire de packages NuGet).

Pour obtenir le runtime et le MSIX mis à jour, consultez les derniers téléchargements du SDK d'application Windows.

WinUI 3

Les applications WinUI 3 peuvent lire de l’audio et de la vidéo avec les contrôles de lecture multimédia MediaPlayerElement et MediaTransportControls. Pour plus d’informations sur l’utilisation et le moment auquel utiliser des contrôles multimédias, consultez Lecteurs multimédias.

WinUI 3 a été mis à jour avec les derniers contrôles, styles et comportements de WinUI 2.8. Ces mises à jour incluent l’ajout du contrôle InfoBadge, des améliorations de l’accessibilité et du mode de contraste élevé, ainsi que des correctifs de bogues à travers les contrôles. Pour plus d’informations, consultez les notes de publication pour WinUI 2.7 et WinUI 2.8.

Problème connu

Les styles ListView ont régressé et modifiés à partir de WinAppSDK 1.1.

Notifications

AppNotificationBuilder a été introduit comme alternative à la charge utile XML pour la création et la définition de notifications d’application.

Pour plus d’informations sur son utilisation, consultez la spécification AppNotificationBuilder sur GitHub.

Consultez également Démarrage rapide : Notifications d’application dans le SDK d’application Windows pour obtenir un exemple de création d’une application Windows de bureau qui envoie et reçoit des notifications d’application locale.

Modification critique

Pour les notifications push, lors d’un appel de requête de canal, les applications doivent utiliser l’ID d’objet Azure au lieu de l’ID d’application Azure. Pour plus d’informations sur la recherche de votre ID d’objet Azure, consultez Démarrage rapide : Notification push dans le SDK d’application Windows.

Problème résolu

PushNotificationManager.IsSupported vérifie l’utilisation du mode avec élévation de privilèges. Elle retourne false si l’application a des privilèges élevés.

Limitations connues (notifications)

  • Dans AppNotificationScenario, Urgent est uniquement pris en charge pour les builds Windows 19041 et ultérieures. Vous pouvez utiliser AppNotificationBuilder.IsUrgentScenarioSupported pour vérifier si la fonctionnalité est disponible au moment de l’exécution.
  • Dans AppNotificationButton, hint-toolTip et hint-buttonStyle sont uniquement pris en charge pour les builds 19041 et ultérieures. Vous pouvez utiliser IsButtonStyleSupported et IsToolTipSupported pour vérifier si la fonctionnalité est disponible au moment de l’exécution.
  • Dans MediaPlayerElement, lorsqu’elle est utilisée dans le balisage XAML pour une application non empaquetée, la propriété Source ne peut pas être définie avec un URI ms-appx ou ms-resource. Vous pouvez également définir la source à l’aide d’un URI de fichier ou à partir du code.

Fenêtrage

La personnalisation complète de la barre de titre est désormais disponible sur Windows 10, version 1809 et versions ultérieures via la classe AppWindowTitleBar. Vous pouvez définir AppWindowTitleBar.ExtendsContentIntoTitleBar sur true pour étendre le contenu dans la zone de barre de titre, et SetDragRectangles pour définir des régions de glissement (en plus d’autres options de personnalisation).

Si vous avez utilisé la propriété AppWindowTitleBar.IsCustomizationSupported pour vérifier si vous pouvez appeler les API AppWindowTitleBar, elle retourne désormais true sur les versions du SDK d’application Windows pour Windows 10 prises en charge (1809 et versions ultérieures).

Limitations connues (fenêtrage)

Les personnalisations de base de la barre de titre ne sont pas prises en charge sur Windows 10. Cela comprend BackgroundColor, InactiveBackgroundColor, ForegroundColor, InactiveForegroundColor et IconShowOptions. Si vous appelez ces propriétés, elles seront ignorées sans avertissement. Toutes les autres API AppWindowTitleBar fonctionnent dans Windows 10, version 1809 et versions ultérieures. Pour les API de couleur de bouton de légende (entre autres) et Height, ExtendsContentIntoTitleBar doit avoir la valeur true, sinon ces valeurs seront également ignorées sans avertissement.

Contrôle d’accès

Introduction de security.accesscontrol.h avec la fonction GetSecurityDescriptorForAppContainerNames pour faciliter et simplifier le partage d’objets nommés entre les processus empaquetés et les API Win32 générales. Cette méthode prend une liste de noms de famille de packages (PFN) et de masques d’accès, puis retourne un descripteur de sécurité. Pour plus d’informations, consultez la spécification GetSecurityDescriptorForAppContainerNames sur GitHub.

Autres limitations et problèmes connus (1.2.0-preview1)

  • PublishSingleFile .NET n’est pas pris en charge.