Porter une application Windows ML existante vers le package NuGet (C++)
Dans ce tutoriel, nous allons prendre une application de bureau WinML existante et la porter pour utiliser le package NuGet redistribuable .
Conditions préalables
- Une application WinML. Si vous créez une application, consultez Tutoriel : Créer une application Windows Machine Learning Desktop (C++)
- Windows 8.1 ou version ultérieure
- Visual Studio 2019 (ou Visual Studio 2017, version 15.7.4 ou ultérieure)
- Téléchargez le package NuGet CppWinRT
Ajouter le package NuGet à votre projet
Dans le projet Visual Studio de votre application existante, accédez à l’Explorateur de solutions et sélectionnez Gérer les packages NuGet pour la solution. Choisissez le package NuGet Microsoft.AI.MachineLearning
. Vérifiez que vous ajoutez au projet approprié, puis appuyez sur Installer.
Ensuite, générez à nouveau votre solution. Le kit de ressources C++/WinRT analyse les nouveaux en-têtes et métadonnées du package NuGet Microsoft.AI.MachineLearning
, ce qui évite toute confusion à l’étape suivante.
Inclure le nouvel en-tête
Pour appliquer les meilleures pratiques, vous devez ajouter un indicateur de contrôle pour permettre à votre application d'alterner entre l’utilisation de Windows ML intégré et du paquet NuGet.
#ifdef USE_WINML_NUGET
#include "winrt/Microsoft.AI.MachineLearning.h"
#endif
Modifier l’espace de noms
Ensuite, autorisez le Windows::AI::Machinelearning
à basculer vers l’espace de noms Microsoft::AI::MachineLearning
à l’aide d’un indicateur de contrôle. En effectuant cette modification, votre code utilise automatiquement le package NuGet le cas échéant.
#ifdef USE_WINML_NUGET
Using namespace Microsoft::AI::MachineLearning
#else
Using namespace Windows::AI::MachineLearning
#endif
Modifier les définitions de préprocesseur
Cliquez avec le bouton droit sur le projet dans l’Explorateur de solutions , puis sélectionnez Propriétés. Dans la fenêtre Propriétés, choisissez la page Préprocesseur. Modifiez les définitions de préprocesseur , puis remplacez-la par USE_WINML_NUGET:_DEBUG
.
Enregistrer les configurations de build
Cliquez avec le bouton droit sur la solution dans l’Explorateur de solutions , puis sélectionnez Propriétés. Dans la fenêtre propriétés , sélectionnez Configuration Manager . Ouvrez le menu déroulant de la configuration active de la solution et choisissez <Nouveau...>. Entrez le nom de la nouvelle configuration de solution et vérifiez que Créer de nouvelles configurations de projet est cochée. À présent, les définitions de préprocesseur peuvent être enregistrées dans les configurations de build souhaitées.
Compiler et exécuter
Votre application utilise désormais le package NuGet WinML.