Convertire un'app di Windows ML esistente in un pacchetto NuGet (C++)

In questa esercitazione si prenderà un'applicazione desktop WinML esistente e la si trasferirà per usare il pacchetto NuGet ridistribuibile.

Prerequisiti

  • Una applicazione WinML. Se si sta creando una nuova applicazione, vedere Esercitazione: Creare un'applicazione Desktop di Windows Machine Learning (C++)
  • Windows 8.1 o versioni successive
  • Visual Studio 2019 (o Visual Studio 2017 versione 15.7.4 o successive)
  • Scaricare il pacchetto NuGet CppWinRT

Aggiungere il pacchetto NuGet al progetto

Nel progetto di Visual Studio per l'applicazione esistente passa a Esplora soluzioni e seleziona Gestisci pacchetti NuGet per la soluzione. Scegli il pacchetto NuGet Microsoft.AI.MachineLearning. Assicurati di aggiungerlo al progetto corretto e fai clic su Installa.

Successivamente compila nuovamente la soluzione. Il toolkit C++/WinRT analizzerà le nuove intestazioni e metadati dal pacchetto NuGet Microsoft.AI.MachineLearning, evitando confusione nel passaggio successivo.

Includere la nuova intestazione

Per le procedure consigliate, devi aggiungere un flag di controllo per consentire all'app di commutare tra l'uso di Windows ML incluso e il pacchetto NuGet.

#ifdef USE_WINML_NUGET
#include “winrt/Microsoft.AI.MachineLearning.h” 
#endif

Modificare lo spazio dei nomi

Successivamente consenti a Windows::AI::Machinelearning di passare allo spazio dei nomi Microsoft::AI::MachineLearning utilizzando un flag di controllo. Apportando questa modifica, il codice userà automaticamente il pacchetto NuGet, se applicabile.

#ifdef USE_WINML_NUGET 

Using namespace Microsoft::AI::MachineLearning 

#else 

Using namespace Windows::AI::MachineLearning 

#endif 

Modificare le definizioni del preprocessore

Adesso fai clic con il pulsante destro del mouse sul progetto in Esplora soluzioni e scegli Proprietà. Nella finestra Proprietà scegli la pagina Preprocessore. Modifica le Definizioni del preprocessore in USE_WINML_NUGET:_DEBUG.

Salvare le configurazioni della build

Fare clic con il pulsante destro del mouse sulla soluzione in Esplora soluzioni e selezionare Proprietà. Nella finestra Proprietà selezionare Gestione configurazione. Aprire il menu a discesa per Configurazione soluzione attiva e scegliere< Nuovo.> Immettere il nome della nuova configurazione della soluzione e verificare che l'opzione Crea nuove configurazioni progetto sia selezionata. È ora possibile salvare le definizioni del preprocessore nelle configurazioni della build desiderate.

Compilare ed eseguire

L'applicazione ora usa correttamente il pacchetto NuGet WinML.