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

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

Important

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

참고 항목

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

필수 조건

  • Visual Studio 2019 이상
  • Windows 앱 개발을 위한 워크로드 및 구성 요소입니다. 자세한 내용은 Windows 앱 SDK용 도구 설치를 참조하세요.

지침

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

    참고 항목

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

  2. 패키지 참조를 사용하도록 설정했는지 확인합니다.

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

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

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

    Screenshot of the Windows App SDK NuGet package being installed

    참고 항목

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

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

  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 프레임워크 패키지 및 동적 종속성을 참조하세요.