다음을 통해 공유


기존 Windows ML 앱을 NuGet 패키지로 포팅(C++)

이 자습서에서는 기존 WinML 데스크톱 애플리케이션을 사용하여 재배포 가능 NuGet 패키지사용하도록 포팅합니다.

필수 구성 요소

  • WinML 애플리케이션입니다. 새 애플리케이션을 만드는 경우 자습서: Windows Machine Learning Desktop 애플리케이션 만들기(C++)를 참조하세요.
  • Windows 8.1 이상
  • Visual Studio 2019(또는 Visual Studio 2017 버전 15.7.4 이상)
  • CppWinRT NuGet 패키지 다운로드

프로젝트에 NuGet 패키지 추가

기존 애플리케이션에 대한 Visual Studio 프로젝트에서 솔루션 탐색기로 이동하여 솔루션 대한 NuGet 패키지 관리선택합니다. Microsoft.AI.MachineLearning NuGet 패키지를 선택합니다. 올바른 프로젝트에 추가하고 있는지 확인하고 설치을 누릅니다.

다음으로 솔루션을 다시 빌드합니다. C++/WinRT 도구 키트는 Microsoft.AI.MachineLearning NuGet 패키지에서 새 헤더 및 메타데이터를 구문 분석하여 다음 단계에서 혼동을 방지합니다.

새 헤더 포함

모범 사례의 경우 기본 제공 Windows ML과 NuGet 패키지를 사용하는 사이에 앱이 앞뒤로 회전할 수 있도록 컨트롤 플래그를 추가해야 합니다.

#ifdef USE_WINML_NUGET
#include "winrt/Microsoft.AI.MachineLearning.h" 
#endif

네임스페이스 변경

다음으로 Windows::AI::Machinelearning 컨트롤 플래그를 사용하여 Microsoft::AI::MachineLearning 네임스페이스로 전환할 수 있도록 합니다. 이 변경을 수행하면 해당되는 경우 코드에서 NuGet 패키지를 자동으로 사용합니다.

#ifdef USE_WINML_NUGET 

Using namespace Microsoft::AI::MachineLearning 

#else 

Using namespace Windows::AI::MachineLearning 

#endif 

전처리기 정의 변경

이제 솔루션 탐색기 프로젝트를 마우스 오른쪽 단추로 클릭하고 속성선택합니다. 속성 창에서 전처리기 페이지를 선택합니다. 전처리기 정의을(를) 편집하고 USE_WINML_NUGET:_DEBUG로 변경합니다.

빌드 구성 저장

솔루션 탐색기 솔루션을 마우스 오른쪽 단추로 클릭하고 속성선택합니다. 속성 창에서 Configuration Manager를 선택합니다. 활성 솔루션 구성 대한 드롭다운 메뉴를 열고 <새로 만들기...>선택합니다. 새 솔루션 구성의 이름을 입력하고 새 프로젝트 구성 만들기이 선택되어 있는지 확인합니다. 이제 전처리기 정의를 원하는 빌드 구성에 저장할 수 있습니다.

빌드 및 실행

이제 애플리케이션에서 WinML NuGet 패키지를 성공적으로 사용합니다.