Port existující aplikace Windows ML do balíčku NuGet (C++)
V tomto kurzu vezmeme existující desktopovou aplikaci WinML a portujeme ji tak, aby používala distribuovatelný balíček NuGet.
Požadavky
- Aplikace WinML. Pokud vytváříte novou aplikaci, přečtěte si kurz: Vytvoření desktopové aplikace Windows Machine Learning (C++)
- Windows 8.1 nebo novější
- Visual Studio 2019 (nebo Visual Studio 2017 verze 15.7.4 nebo novější)
- Stáhněte si balíček NuGet CppWinRT
Přidání balíčku NuGet do projektu
V projektu sady Visual Studio pro existující aplikaci přejděte do Průzkumníka řešení a vyberte Spravovat balíčky NuGet pro řešení. Zvolte balíček NuGet Microsoft.AI.MachineLearning
. Ujistěte se, že přidáváte do správného projektu, a stiskněte Nainstalovat.
Pak znovu sestavte řešení. Sada nástrojů C++/WinRT parsuje nové hlavičky a metadata z balíčku Microsoft.AI.MachineLearning
NuGet, aby se zabránilo nejasnostem v dalším kroku.
Zahrnutí nové hlavičky
Pro nejlepší praxi byste měli přidat ovládací příznak, který umožní vaší aplikaci přepínat tam a zpět mezi používáním integrované funkce Windows ML a balíčku NuGet.
#ifdef USE_WINML_NUGET
#include "winrt/Microsoft.AI.MachineLearning.h"
#endif
Změna oboru názvů
Dále povolte, aby Windows::AI::Machinelearning
přepnul na obor názvů Microsoft::AI::MachineLearning
pomocí příznaku ovládacího prvku. Provedením této změny kód automaticky použije balíček NuGet, pokud je k dispozici.
#ifdef USE_WINML_NUGET
Using namespace Microsoft::AI::MachineLearning
#else
Using namespace Windows::AI::MachineLearning
#endif
Změňte definice preprocesoru
Nyní klikněte pravým tlačítkem myši na projekt v průzkumníku řešení a vyberte Vlastnosti. V okně Vlastnosti zvolte stránku preprocesoru. Upravte definice preprocesorua změňte je na USE_WINML_NUGET:_DEBUG
.
Uložit konfigurace sestavení
Klikněte pravým tlačítkem na řešení v Průzkumníku řešení a vyberte Vlastnosti. V okně Vlastnosti vyberte Správce konfigurace. Otevřete rozevírací nabídku pro konfiguraci aktivního řešení a zvolte <Nový...>. Zadejte název nové konfigurace řešení a ujistěte se, že je zaškrtnuta volba Vytvořit nové konfigurace projektu. Teď je možné definice preprocesoru uložit do požadovaných konfigurací sestavení.
Sestavení a spuštění
Vaše aplikace teď úspěšně používá balíček NuGet WinML.