Partager via


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.