Portieren einer vorhandenen Windows ML-App zum NuGet-Paket (C++)
In diesem Lernprogramm verwenden wir eine vorhandene WinML-Desktopanwendung und portieren sie, um das verteilbare NuGet-Paketzu verwenden.
Voraussetzungen
- Eine WinML-Anwendung. Wenn Sie eine neue Anwendung erstellen, lesen Sie das Tutorial: Erstellen einer Windows Machine Learning Desktop-Anwendung (C++).
- Windows 8.1 oder höher
- Visual Studio 2019 (oder Visual Studio 2017, Version 15.7.4 oder höher)
- Laden Sie das CppWinRT NuGet-Paket
Hinzufügen des NuGet-Pakets zu Ihrem Projekt
Navigieren Sie im Visual Studio-Projekt für Ihre vorhandene Anwendung zum Projektmappen-Explorer, und wählen Sie "NuGet-Pakete für Projektmappen verwalten"aus. Wählen Sie das Microsoft.AI.MachineLearning
NuGet-Paket aus. Stellen Sie sicher, dass Sie zum richtigen Projekt hinzufügen, und klicken Sie auf Installieren.
Als Nächstes erstellen Sie Ihre Lösung erneut. Das C++/WinRT-Toolkit analysiert die neuen Header und Metadaten aus dem Microsoft.AI.MachineLearning
NuGet-Paket und vermeidet im nächsten Schritt Verwirrung.
Fügen Sie die neue Kopfzeile ein
Für bewährte Methoden sollten Sie eine Steuerflag hinzufügen, damit Ihre App zwischen der Verwendung von Windows ML und dem NuGet-Paket hin und her schalten kann.
#ifdef USE_WINML_NUGET
#include "winrt/Microsoft.AI.MachineLearning.h"
#endif
Namensraum ändern
Erlauben Sie als Nächstes, dass der Windows::AI::Machinelearning
mithilfe einer Steuerflagge in den Microsoft::AI::MachineLearning
Namensraum wechselt. Wenn Sie diese Änderung vornehmen, verwendet Ihr Code bei Bedarf automatisch das NuGet-Paket.
#ifdef USE_WINML_NUGET
Using namespace Microsoft::AI::MachineLearning
#else
Using namespace Windows::AI::MachineLearning
#endif
Ändern der Präprozessordefinitionen
Klicken Sie nun im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt und wählen Sie Eigenschaftenaus. Wählen Sie im Fenster Eigenschaften die seite Preprocessor aus. Bearbeiten Sie die Präprozessordefinitionen, und ändern Sie sie in USE_WINML_NUGET:_DEBUG
.
Buildkonfigurationen speichern
Klicken Sie mit der rechten Maustaste auf die Lösung im Projektmappen-Explorer und wählen Sie Eigenschaftenaus. Wählen Sie im Fenster EigenschaftenConfiguration Manageraus. Öffnen Sie das Dropdownmenü für „Aktive Lösungskonfiguration“ und wählen Sie „Neu...“ <>aus. Geben Sie den Namen der neuen Lösungskonfiguration ein, und stellen Sie sicher, dass Erstellen neuer Projektkonfigurationen aktiviert ist. Jetzt können Präprozessordefinitionen in den gewünschten Buildkonfigurationen gespeichert werden.
Erstellen und Ausführen
Ihre Anwendung verwendet jetzt erfolgreich das WinML NuGet-Paket.