Share via


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.