Migración de una aplicación existente de Windows ML a un paquete NuGet (C++)
En este tutorial, tomaremos una aplicación de escritorio de WinML existente y la migraremos para usar el paquete NuGet redistribuible.
Requisitos previos
- Una aplicación de WinML. Si está creando una nueva aplicación, consulte el Tutorial: Creación de una aplicación de escritorio de Windows Machine Learning (C++)
- Windows 8.1 o superior
- Visual Studio 2019 (o Visual Studio 2017, versión 15.7.4 o posterior)
- Descargar el paquete NuGet de CppWinRT
Adición del paquete NuGet al proyecto
En el proyecto de Visual Studio de la aplicación existente, ve al Explorador de soluciones y selecciona Administrar paquetes NuGet para la solución. Elige el paquete NuGet Microsoft.AI.MachineLearning
. Asegúrate de que lo estás agregando al proyecto correcto y selecciona Instalar.
A continuación, vuelve a compilar la solución. El kit de herramientas de C++/WinRT analizará los nuevos encabezados y metadatos del paquete NuGet Microsoft.AI.MachineLearning
, lo que evitará confusiones en el paso siguiente.
Inclusión del nuevo encabezado
En el caso de los procedimientos recomendados, debes agregar una marca de control para permitir que la aplicación cambie entre el uso de Windows ML integrado y el paquete NuGet.
#ifdef USE_WINML_NUGET
#include “winrt/Microsoft.AI.MachineLearning.h”
#endif
Cambio del espacio de nombres
A continuación, permite que Windows::AI::Machinelearning
cambie al espacio de nombres Microsoft::AI::MachineLearning
mediante una marca de control. Al efectuar este cambio, el código usará automáticamente el paquete NuGet, si procede.
#ifdef USE_WINML_NUGET
Using namespace Microsoft::AI::MachineLearning
#else
Using namespace Windows::AI::MachineLearning
#endif
Cambio de las definiciones del preprocesador
Ahora, haz clic con el botón derecho en el Explorador de soluciones y selecciona Propiedades. En la ventana Propiedades, elige la página Preprocesador. Edita la opción de Definiciones del preprocesador y cámbiala a USE_WINML_NUGET:_DEBUG
.
Guardar las configuraciones de compilación
Haga clic con el botón derecho en la solución en el Explorador de soluciones y seleccione Propiedades. En la ventana Propiedades, seleccione Configuration Manager. Abra el menú desplegable de Configuración de soluciones activas y elija <Nueva...>. Escriba el nombre de la nueva configuración de soluciones y asegúrese de que la opción Crear nuevas configuraciones de proyecto está activada. Ahora, las definiciones de preprocesador se pueden guardar en las configuraciones de compilación deseadas.
Compilación y ejecución
La aplicación ahora usa correctamente el paquete NuGet de WinML.