Convertire un'app di Windows ML esistente in un pacchetto NuGet (C++)
In questa esercitazione si userà un'applicazione desktop WinML esistente e la porteremo per usare il pacchetto NuGet ridistribuibile .
Prerequisiti
- Applicazione WinML. Se si sta creando una nuova applicazione, vedere Esercitazione: Creare un'applicazione Desktop di Windows Machine Learning (C++)
- Windows 8.1 o versione successiva
- Visual Studio 2019 (o Visual Studio 2017, versione 15.7.4 o successiva)
- Scaricare il pacchetto CppWinRT NuGet
Aggiungere il pacchetto NuGet al progetto
Nel progetto di Visual Studio per l'applicazione esistente passare a Esplora soluzioni e selezionare Gestisci pacchetti NuGet per la soluzione. Scegliere il pacchetto NuGet Microsoft.AI.MachineLearning
. Assicurati di aggiungere al progetto corretto e premi Installa.
Successivamente, compilare di nuovo la soluzione. Il toolkit C++/WinRT analizzerà le nuove intestazioni e i metadati del pacchetto NuGet Microsoft.AI.MachineLearning
, evitando confusione nel passaggio successivo.
Includere la nuova intestazione
Per le procedure consigliate, è necessario aggiungere un flag di controllo per consentire all'app di spostarsi avanti e indietro tra l'uso di Windows ML in-box e il pacchetto NuGet.
#ifdef USE_WINML_NUGET
#include "winrt/Microsoft.AI.MachineLearning.h"
#endif
Modificare lo spazio dei nomi
Consentire quindi al Windows::AI::Machinelearning
di passare allo spazio dei nomi Microsoft::AI::MachineLearning
usando 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
Fare clic con il pulsante destro del mouse sul progetto nell'Esplora soluzioni e selezionare Proprietà. Nella finestra Proprietà, scegliere la pagina Preprocessor. Modificare le definizioni del preprocessore e modificarle in USE_WINML_NUGET:_DEBUG
.
Salvare le configurazioni di compilazione
Fare clic con il pulsante destro del mouse sulla soluzione nell' Esplora soluzioni e selezionare Proprietà. Nella finestra Proprietà , selezionare Configuration Manager. Apri il menu a discesa per Configurazione della soluzione attiva e scegli <Nuovo...>. Immettere il nome della nuova configurazione della soluzione e assicurarsi che sia selezionato Crea nuove configurazioni di progetto. Ora, le definizioni del preprocessore possono essere salvate nelle configurazioni di compilazione desiderate.
Compilare ed eseguire
L'applicazione usa ora correttamente il pacchetto NuGet WinML.