Migrar una aplicación de Windows ML existente al paquete NuGet (C++)
En este tutorial, tomaremos una aplicación de escritorio winML existente y la migraremos para usar el paquete NuGet redistribuible .
Prerrequisitos
- Una aplicación WinML. Si va a crear una nueva aplicación, consulte Tutorial: Creación de una aplicación de escritorio de Windows Machine Learning (C++)
- Windows 8.1 o posterior
- Visual Studio 2019 (o Visual Studio 2017, versión 15.7.4 o posterior)
- Descargue el paquete NuGet CppWinRT
Agregar el paquete NuGet al proyecto
En el proyecto de Visual Studio de la aplicación existente, vaya al Explorador de soluciones y seleccione Administrar paquetes NuGet para la solución. Elija el paquete NuGet Microsoft.AI.MachineLearning
. Asegúrese de añadirlo al proyecto correcto y presione Instalar.
A continuación, vuelva a compilar la solución. El kit de herramientas de C++/WinRT analizará los nuevos encabezados y metadatos del paquete NuGet de Microsoft.AI.MachineLearning
, evitando confusiones en el paso siguiente.
Incluir el nuevo encabezado
Para seguir las prácticas recomendadas, debe agregar una bandera de control para permitir que la aplicación alterne entre el uso de Windows ML incorporado y el paquete NuGet.
#ifdef USE_WINML_NUGET
#include "winrt/Microsoft.AI.MachineLearning.h"
#endif
Cambiar el espacio de nombres
A continuación, permita que el Windows::AI::Machinelearning
cambie al espacio de nombres Microsoft::AI::MachineLearning
mediante una marca de control. Al realizar 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
Cambiar las definiciones del preprocesador
Ahora, haga clic con el botón derecho en el proyecto en el Explorador de soluciones y seleccione Propiedades . En la ventana Propiedades, elija la página Preprocesador. Edite el Definiciones de preprocesadory cámbielo a USE_WINML_NUGET:_DEBUG
.
Guardar configuraciones de compilación
Haga clic con el botón derecho en la solución en el explorador de soluciones de y seleccione Propiedades. En la ventana Propiedades, seleccione Configuration Manager. Abra el menú desplegable de configuración activa de solución y elija <Nuevo...>. Escriba el nombre de la nueva configuración de la solución y asegúrese de que Crear nuevas configuraciones de proyecto esté marcada. Ahora, las definiciones del 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 winML.