Freigeben über


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.