기존 프로젝트에서 Windows 앱 SDK 사용

Windows 앱 SDK 사용하려는 데스크톱 프로젝트가 있는 경우 프로젝트에 Windows 앱 SDK NuGet 패키지(최신 버전 또는 필요한 모든 버전)를 설치할 수 있습니다. 패키지되지 않은 앱(즉, 배포 기술에 MSIX를 사용하지 않는 앱)은 Windows 앱 SDK 사용하는 경우 이 절차를 따라야 합니다. 그러나 패키지된 앱도 그렇게 할 수 있습니다 .

중요

UWP 앱에서 작업하는 경우 UWP에서 Windows 앱 SDK 마이그레이션을 참조하세요.

참고

이 절차는 C# .NET 6 이상 프로젝트 및 C++ 데스크톱 프로젝트에서 지원됩니다. 이러한 프로젝트 유형은 안정적인 릴리스 채널, 미리 보기 릴리스 채널 또는 실험적 릴리스 채널의 NuGet 패키지를 사용할 수 있습니다.

사전 요구 사항

Instructions

  1. Visual Studio에서 기존 프로젝트를 엽니다.

    참고

    C# 데스크톱 프로젝트가 있는 경우 Windows 런타임 API를 호출할 수 있도록 프로젝트 파일의 TargetFramework 요소가 Windows 10 특정 모니커(예: net6.0-windows10.0.19041.0)로 설정되어 있는지 확인합니다. 자세한 내용은 데스크톱 앱에서 Windows 런타임 API 호출을 참조하세요. 또한 17763 을 대상으로 하는 알려진 문제 차단 앱이 있으므로 18362 이상을 대상으로 해야 합니다(GitHub에서 17763의 TFM을 사용할 때 빌드 오류 참조).

  2. 패키지 참조가 사용하도록 설정되어 있는지 확인합니다.

    1. Visual Studio에서 도구>NuGet 패키지 관리자>패키지 관리자 설정을 클릭합니다.
    2. 기본 패키지 관리 형식으로 PackageReference가 선택되어 있는지 확인합니다.
  3. 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하고 NuGet 패키지 관리를 선택합니다.

  4. NuGet 패키지 관리자 창에서 창 위쪽 근처에 있는 시험판 포함 확인란을 선택하고, 찾아보기 탭을 선택하고, 다음 패키지 중 하나를 검색합니다.

    • 1.0 이상 릴리스 중 하나를 설치하려면 Microsoft.WindowsAppSDK 패키지를 검색합니다.
    • 0.8 릴리스 중 하나를 설치하려면 Microsoft.ProjectReunion 패키지를 검색합니다.
  5. 적절한 Windows 앱 SDK NuGet 패키지를 찾은 후 패키지를 선택하고 NuGet 패키지 관리자 창의 오른쪽 창에서 설치를 클릭합니다.

    설치 중인 Windows 앱 SDK NuGet 패키지의 스크린샷

    참고

    Windows 앱 SDK NuGet 패키지에는 Windows 앱 SDK 특정 구성 요소에 대한 구현을 포함하는 다른 하위 패키지(Microsoft.WindowsAppSDK.Foundation, Microsoft.WindowsAppSDK.WinUI 등)가 포함되어 있습니다. 프로젝트의 특정 구성 요소만 참조하기 위해 이러한 하위 패키지를 개별적으로 설치할 수 없습니다. 모든 구성 요소가 포함된 기본 Windows App SDK NuGet 패키지를 설치해야 합니다.

  6. 패키지되지 않은 앱에만 해당합니다. 패키지되지 않은 앱이 Windows 앱 SDK API 및 구성 요소를 사용하려면 먼저 앱이 Windows 앱 SDK 런타임을 로드하여 Windows 앱 SDK 프레임워크 패키지를 참조해야 합니다. 자세한 내용은 외부 위치 또는 패키지되지 않은 앱에 Windows 앱 SDK 런타임 사용자습서: 외부 위치로 패키지된 앱에서 부트스트래퍼 API 사용 또는 Windows 앱 SDK 사용하는 패키지 해제를 참조하세요.

  7. 이제 앱에서 설치한 릴리스 채널에서 사용할 수 있는 Windows 앱 SDK API 및 구성 요소를 사용할 수 있습니다. 사용 가능한 기능 목록은 릴리스 채널을 참조하세요.

추가 정보

기존 프로젝트가 C++ 프로젝트이고 Windows 앱 SDK Windows 런타임 API를 호출하려는 경우 C++/WinRT에 대한 지원을 추가해야 합니다. C++/WinRT, XAML, VSIX 확장 및 NuGet 패키지에 대한 Visual Studio 지원을 참조하세요. Microsoft.Windows.CppWinRT NuGet 패키지에 대한 정보를 찾습니다. 해당 패키지가 없으면 프로젝트에서 Windows 앱 SDK Windows 런타임 API에 대한 네임스페이스 헤더 파일을 찾을 수 없습니다.

Windows 앱 SDK 구성 요소를 사용하려고 할 때 클래스가 등록되지 않은 오류가 발생하는 경우 프로젝트에 Windows 앱 SDK Framework 패키지에 대한 동적 종속성을 추가해야 할 수 있습니다. 자세한 내용은 MSIX 프레임워크 패키지 및 동적 종속성을 참조하세요.