Condividi tramite


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.