Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Vous n'avez pas besoin de réécrire votre application WPF, Windows Forms ou Win32 pour tirer parti des fonctionnalités de Windows modernes. Les SDK d'application Windows et la plateforme Windows plus large offrent des fonctionnalités modulaires que vous pouvez adopter de manière incrémentielle, à votre propre rythme.
Note
Cet article traite de l’ajout de fonctionnalités de Windows modernes à votre application de bureau existante. Si vous souhaitez moderniser votre chaîne d’outils .NET ou compilateur C++, consultez GitHub Copilot modernisation pour .NET ou le guide de portage et de mise à niveau Microsoft C++.
Migrer votre infrastructure d’interface utilisateur ?
Si votre objectif est de moderniser entièrement la couche d'interface utilisateur de votre application, le chemin recommandé consiste à migrer vers WinUI 3 , l'infrastructure d'interface utilisateur native pour Windows applications de bureau. Consultez Créer votre première application WinUI 3 pour commencer.
Si vous souhaitez ajouter Windows fonctionnalités à votre infrastructure d’application existante (WPF, WinForms ou Win32 C++ sans modifier votre couche d’interface utilisateur, poursuivez la lecture.
Choisir votre approche
Les trois approches de modernisation sont indépendantes. Vous pouvez utiliser un, deux ou les trois dans la même application.
| Approach | Ce qu’il vous donne | Nécessite l’empaquetage ? |
|---|---|---|
| API WinRT | Accès direct aux API de plateforme Windows (notifications, Bluetooth, contrat de partage, capteurs, etc.) à partir de n’importe quelle application de bureau .NET ou C++ | Non, pour la plupart des API |
| Kit de développement logiciel (SDK) d’application Windows | Package NuGet qui apporte des fonctionnalités de développement de Windows modernes (fenêtrage, rendu de texte, ressources, etc.) aux applications existantes | Non, pour la plupart des fonctionnalités |
| Empaquetage MSIX | Un programme d’installation moderne avec une désinstallation propre, des mises à jour automatiques et une identité de package ; peut être ajouté sans modifier le code source de l’application | S/O : le packaging est l'approche à adopter |
Tip
Commencez par les API WinRT si vous souhaitez appeler une API de plateforme Windows spécifique. Ajoutez le SDK d'application Windows lorsque vous avez besoin de ses fonctionnalités (DWriteCore, MRT Core, fenêtrage). Ajoutez un package MSIX lorsque vous avez besoin d’une identité de package ou souhaitez moderniser votre programme d’installation.
Les API WinRT
les API Windows Runtime (WinRT) exposent Windows fonctionnalités de plateforme telles que les notifications d’application, le contrat de partage, Bluetooth, etc. Vous pouvez appeler ces API directement à partir de WPF, de Windows Forms et d’applications Win32 C++.
Kit de développement logiciel (SDK) d’application Windows
Le SDK d'application Windows offre des fonctionnalités de développement de Windows modernes en tant que package NuGet que vous ajoutez à votre projet existant. Vous n’avez pas besoin de modifier votre infrastructure d’interface utilisateur.
Empaquetage MSIX et identité du package
L’empaquetage MSIX remplace votre programme d’installation existant et donne l’identité de votre package d’application. Certaines fonctionnalités Windows, notamment les tâches en arrière-plan, les tâches de démarrage, les associations de fichiers et Windows AI Foundry, nécessitent une identité de package au moment de l’exécution. Si vous souhaitez conserver votre programme d’installation existant, vous pouvez toujours attribuer une identité de package sans empaquetage MSIX complet — une approche parfois appelée empaquetage avec un emplacement externe ou package clairsemé.
- Vue d’ensemble de l’emballage
- Fonctionnalités nécessitant l’identité du package
- Accorder une identité à une application non empaquetée
- Integrate votre application de bureau avec Windows à l’aide d’extensions d’empaquetage
- Packagez votre application en utilisant un projet unique MSIX
Points de départ spécifiques au framework
| Votre infrastructure | Point de départ recommandé |
|---|---|
| WPF | Utiliser le Kit de développement logiciel (SDK) d’application Windows dans un projet existant |
| WinForms | Utiliser le Kit de développement logiciel (SDK) d’application Windows dans un projet existant |
| C++ Win32 | Utiliser le Kit de développement logiciel (SDK) d’application Windows dans un projet existant |
| C++/WinRT | API WinRT pour les applications de bureau |
Catalogue de fonctionnalités
Le tableau suivant répertorie les fonctionnalités de modernisation courantes et indique si elles nécessitent l’identité de SDK d'application Windows ou de package.
AI
| Fonctionnalité | SDK d'application Windows obligatoire ? | Identité de package requise ? |
|---|---|---|
| Windows AI Foundry | Non | Oui |
Interface utilisateur et texte
| Fonctionnalité | SDK d'application Windows obligatoire ? | Identité de package requise ? |
|---|---|---|
| Composants WinUI 3 dans une application de bureau | Oui | Non |
| Rendre du texte avec DWriteCore | Oui | Non |
| Appliquer Mica ou Acrylique aux applications Win32 | Non | Non |
| Appliquer des angles arrondis | Non | Non |
| Appliquer des thèmes Windows | Non | Non |
Cycle de vie de l’application
| Fonctionnalité | SDK d'application Windows obligatoire ? | Identité de package requise ? |
|---|---|---|
| Tâches en arrière-plan (SDK d'application Windows) | Oui | Oui |
| Tâches de démarrage | Non | Oui |
Intégration de Windows
| Fonctionnalité | SDK d'application Windows obligatoire ? | Identité de package requise ? |
|---|---|---|
| Intégration de feuille de partage | Non | Non |
| API Cross Device People | Non | Non |
| Associations de fichiers | Non | Oui |
| Les Widgets de Windows | Non | Oui |
Security
| Fonctionnalité | SDK d'application Windows obligatoire ? | Identité de package requise ? |
|---|---|---|
| Stockage sécurisé des informations d’identification | Non | Non |
| OAuth 2.0 | Non | Non |
| Biométrie par empreinte digitale | Non | Non |
| Cartes à puce | Non | Non |
| Cryptographie | Non | Non |
Resources
| Fonctionnalité | SDK d'application Windows obligatoire ? | Identité de package requise ? |
|---|---|---|
| Gestion des ressources MRT Core | Oui | Non |
Pour obtenir la liste complète des fonctionnalités disponibles dans les applications de bureau, consultez Fonctionnalités pour Windows développement d’applications.
Modernisation assistée par l’IA
L’agent de modernisation GitHub Copilot peut analyser votre solution desktop et générer des pull requests qui ajoutent des fonctionnalités Windows modernes ou mettent à niveau votre application vers une version plus récente de .NET. Pour plus d’informations, consultez la modernisation assistée par l’IA.
Voir aussi
- Choisir votre chemin de migration
- Terminologie de la migration
- Appeler les API d'interopérabilité depuis une application .NET
- Créer une application .NET C# avec WinUI et Win32 Interop
Étapes suivantes
Windows developer