Utiliser le SDK d’application Windows dans un projet existant

Si vous avez un projet de bureau dans lequel vous souhaitez utiliser le SDK d'application Windows, vous pouvez installer le package NuGet SDK d'application Windows dans votre projet (la dernière version ou toute version dont vous avez besoin). Les applications non empaquetées (c’est-à-dire les applications qui n’utilisent pas MSIX pour leur technologie de déploiement) doivent suivre cette procédure si elles doivent utiliser le SDK d'application Windows. Mais les applications empaquetées peuvent également le faire.

Important

Si vous utilisez une application UWP, consultez Migrer d’UWP vers le SDK d’application Windows.

Notes

Cette procédure est prise en charge dans les projets C# .NET 6 (et versions ultérieures) et les projets de bureau C++. Ces types de projets peuvent utiliser des packages NuGet à partir du canal de mise en production stable, du canal de mise en production en préversion ou du canal de mise en production expérimentale.

Prérequis

Instructions

  1. Ouvrez un projet existant dans Visual Studio.

    Notes

    Si vous avez un projet de bureau C#, vérifiez que l’élément TargetFramework dans le fichier projet est défini sur un moniker spécifique à Windows 10 (par exemple, net6.0-windows10.0.19041.0) afin de pouvoir appeler Windows Runtime API. Pour plus d’informations, consultez Appeler Windows Runtime API dans les applications de bureau. En outre, vous devez cibler 18362 ou version ultérieure, car il existe un problème connu bloquant les applications qui ciblent 17763 (voir Erreurs de génération lors de l’utilisation de TFM de 17763 sur GitHub).

  2. Assurez-vous que les références de package sont activées :

    1. Dans Visual Studio, cliquez sur Outils>Gestionnaire de package NuGet>Paramètres du Gestionnaire de package.
    2. Assurez-vous que PackageReference est sélectionné pour Format de gestion des packages par défaut.
  3. Cliquez avec le bouton droit sur votre projet dans l’Explorateur de solutions, puis sélectionnez Gérer les packages NuGet.

  4. Dans la fenêtre Gestionnaire de package NuGet, sélectionnez la zone Inclure la préversion case activée en haut de la fenêtre, sélectionnez l’onglet Parcourir, puis recherchez l’un des packages suivants :

  5. Une fois que vous avez trouvé le SDK d'application Windows package NuGet approprié, sélectionnez le package, puis cliquez sur Installer dans le volet droit de la fenêtre Gestionnaire de package NuGet.

    Capture d’écran du package NuGet SDK d'application Windows en cours d’installation

    Notes

    Le package NuGet SDK d'application Windows contient d’autres sous-packages (y compris Microsoft.WindowsAppSDK.Foundation, Microsoft.WindowsAppSDK.WinUI et d’autres) qui contiennent les implémentations de composants spécifiques dans le SDK d'application Windows. Vous ne pouvez pas installer ces sous-packages individuellement afin de référencer uniquement certains composants de votre projet. Vous devez installer le package NuGet main SDK d'application Windows, qui inclut tous les composants.

  6. Pour les applications non empaquetées uniquement. Avant que votre application non empaquetée puisse utiliser SDK d'application Windows API et composants, elle doit d’abord charger le runtime SDK d'application Windows pour référencer le package d’infrastructure SDK d'application Windows. Pour plus d’informations, consultez Utiliser le runtime SDK d'application Windows pour les applications empaquetées avec un emplacement externe ou non empaquetées et Tutoriel : Utiliser l’API de programme d’amorçage dans une application empaquetée avec un emplacement externe ou non empaquetée qui utilise le SDK d'application Windows.

  7. Votre application peut désormais utiliser SDK d'application Windows API et les composants disponibles dans le canal de mise en production que vous avez installé. Pour obtenir la liste des fonctionnalités disponibles, consultez Canaux de publication.

Plus d’informations

Si votre projet existant est un projet C++ et que vous souhaitez appeler Windows Runtime API dans le SDK d'application Windows, vous devez ajouter la prise en charge de C++/WinRT. Consultez Prise en charge de Visual Studio pour C++/WinRT, XAML, l’extension VSIX et le package NuGet. Recherchez des informations sur le package NuGet Microsoft.Windows.CppWinRT . Sans ce package, votre projet ne pourra pas trouver les fichiers d’en-tête d’espace de noms pour Windows Runtime API dans le SDK d'application Windows.

Si vous rencontrez une erreur De classe non inscrite lorsque vous essayez d’utiliser un composant SDK d'application Windows, vous devrez peut-être ajouter à votre projet une dépendance dynamique sur le package SDK d'application Windows Framework. Pour plus d’informations, consultez Packages d’infrastructure MSIX et dépendances dynamiques.