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.