Przenoszenie istniejącej aplikacji uczenia maszynowego systemu Windows do pakietu NuGet (C++)
W tym samouczku weźmiemy istniejącą aplikację na pulpit WinML i przeniesiemy ją, aby korzystała z redystrybuowalnego pakietu NuGet .
Warunki wstępne
- Aplikacja WinML. Jeśli tworzysz nową aplikację, zobacz Samouczek: Utwórz desktopową aplikację Windows Machine Learning (C++)
- Windows 8.1 lub nowszy
- Visual Studio 2019 (lub Visual Studio 2017, wersja 15.7.4 lub nowsza)
- Pobierz pakiet NuGet CppWinRT
Dodawanie pakietu NuGet do projektu
W projekcie programu Visual Studio dla istniejącej aplikacji przejdź do Eksploratora rozwiązań i wybierz pozycję Zarządzaj pakietami NuGet dla rozwiązania. Wybierz pakiet NuGet Microsoft.AI.MachineLearning
. Upewnij się, że dodajesz do poprawnego projektu, a następnie naciśnij przycisk Zainstaluj.
Następnie ponownie skompiluj rozwiązanie. Zestaw narzędzi C++/WinRT przeanalizuje nowe nagłówki i metadane z pakietu Microsoft.AI.MachineLearning
NuGet, unikając pomyłek w następnym kroku.
Dołącz nowy nagłówek
Aby stosować najlepsze praktyki, należy dodać flagę kontrolną, aby umożliwić aplikacji przełączanie się między używaniem wbudowanego Windows ML a pakietem NuGet.
#ifdef USE_WINML_NUGET
#include "winrt/Microsoft.AI.MachineLearning.h"
#endif
Zmiana przestrzeni nazw
Następnie zezwól Windows::AI::Machinelearning
na przełączenie się do przestrzeni nazw Microsoft::AI::MachineLearning
przy użyciu flagi sterującej. Wprowadzając tę zmianę, kod automatycznie użyje pakietu NuGet, jeśli ma to zastosowanie.
#ifdef USE_WINML_NUGET
Using namespace Microsoft::AI::MachineLearning
#else
Using namespace Windows::AI::MachineLearning
#endif
Zmienianie definicji preprocesora
Teraz kliknij prawym przyciskiem myszy projekt w eksploratorze rozwiązań i wybierz pozycję właściwości . W oknie Właściwości wybierz zakładkę preprocesora. Edytuj definicje preprocesora i zmień je na USE_WINML_NUGET:_DEBUG
.
Zapisz konfiguracje kompilacji
Kliknij prawym przyciskiem myszy rozwiązanie w Eksploratorze Rozwiązań i wybierz Właściwości . W oknie właściwości wybierz pozycję Configuration Manager. Otwórz menu rozwijane Aktywna konfiguracja rozwiązania i wybierz <Nowy...>. Wprowadź nazwę nowej konfiguracji rozwiązania i upewnij się, że opcja Utwórz nowe konfiguracje projektu jest zaznaczona. Teraz definicje preprocesora można zapisać w żądanych konfiguracjach kompilacji.
Budowanie i uruchamianie
Aplikacja pomyślnie używa pakietu NuGet WinML.