데스크톱 앱에서 최신 Windows 기능 사용

최신 Windows 기능을 활용하기 위해 WPF, Windows Forms 또는 Win32 앱을 다시 작성할 필요가 없습니다. Windows 앱 SDK 광범위한 Windows 플랫폼은 사용자 고유의 속도로 증분 방식으로 채택할 수 있는 모듈식 기능을 제공합니다.

메모

이 문서에서는 기존 데스크톱 앱에 최신 Windows 기능을 추가하는 방법을 설명합니다. .NET 도구 체인 또는 C++ 컴파일러를 현대화하려면 .NET GitHub Copilot 현대화 또는 Microsoft C++ 포팅 및 업그레이드 가이드를 참조하세요.

UI 프레임워크를 마이그레이션하시겠습니까?

앱의 UI 계층을 완전히 현대화하는 것이 목표인 경우 권장 경로는 Windows 데스크톱 앱용 네이티브 UI 프레임워크인 WinUI 3으로 마이그레이션하는 것입니다. 시작 하려면 첫 번째 WinUI 3 앱 만들기 를 참조하세요.

UI 계층을 변경하지 않고 기존 앱 프레임워크(WPF, WinForms 또는 C++ Win32)에 Windows 기능을 추가하려면 계속 읽으세요.

접근 방식 선택

세 가지 현대화 방법은 독립적입니다. 동일한 앱에서 하나, 둘 또는 세 가지를 모두 사용할 수 있습니다.

Approach 그것은 당신에게 주는 것 패키징이 필요하세요?
WinRT API .NET 또는 C++ 데스크톱 앱에서 Windows 플랫폼 API(알림, Bluetooth, 공유 계약, 센서 등)에 직접 액세스 아니요, 대부분의 API의 경우
Windows 앱 SDK 기존 앱에 최신 Windows 개발 기능(창, 텍스트 렌더링, 리소스 등)을 제공하는 NuGet 패키지 아니요, 대부분의 기능
MSIX 패키징 깔끔한 제거, 자동 업데이트 및 패키지 식별자를 갖춘 최신 설치 관리자이며, 앱 소스 코드를 변경하지 않고 추가할 수 있습니다. 해당 없음 — 패키징이 그 접근 방식입니다

Tip

특정 Windows 플랫폼 API를 호출하려는 경우 WinRT API로 시작합니다. 해당 기능이 필요할 때 Windows 앱 SDK 추가합니다(DWriteCore, MRT Core, windowing). 패키지 ID가 필요하거나 설치 관리자를 현대화하려는 경우 MSIX 패키징 을 추가합니다.

WinRT API들

WinRT(Windows 런타임) API는 앱 알림, 공유 계약, Bluetooth 등과 같은 Windows 플랫폼 기능을 노출합니다. WPF, Windows Forms 및 C++ Win32 앱에서 직접 이러한 API를 호출할 수 있습니다.

Windows 앱 SDK

Windows 앱 SDK는 기존 프로젝트에 추가할 수 있는 NuGet 패키지 형태로 최신 Windows 개발 기능을 제공합니다. UI 프레임워크를 변경할 필요가 없습니다.

MSIX 패키징 및 패키지 ID

MSIX 패키징은 기존 설치 관리자를 대체하고 앱 패키지 ID를 제공합니다. 백그라운드 작업, 시작 작업, 파일 연결 및 Windows AI Foundry를 비롯한 일부 Windows 기능에는 런타임에 패키지 ID가 필요합니다. 기존 설치 관리자를 유지하려는 경우 전체 MSIX 패키징 없이도 패키지 ID를 부여할 수 있습니다. 외부 위치 또는 스파스 패키지패키징이라고도 하는 접근 방식입니다.

프레임워크별 시작점

귀하의 프레임워크 권장되는 시작점
WPF 기존 프로젝트에서 Windows 앱 SDK 사용하기
윈폼 기존 프로젝트에서 Windows 앱 SDK 사용하기
C++ Win32 기존 프로젝트에서 Windows 앱 SDK 사용하기
C++/WinRT 데스크톱 앱용 WinRT API

기능 카탈로그

다음 표에서는 일반적인 현대화 기능과 Windows 앱 SDK 또는 패키지 ID가 필요한지 여부를 나열합니다.

AI

Feature Windows 앱 SDK 필요합니까? 패키지 ID가 필요합니까?
Windows AI 파운드리 No Yes

UI 및 텍스트

Feature Windows 앱 SDK 필요합니까? 패키지 ID가 필요합니까?
데스크톱 앱의 WinUI 3 구성 요소 Yes No
DWriteCore를 사용하여 텍스트 렌더링 Yes No
Win32 앱에 Mica 또는 Acrylic 적용 No No
둥근 모서리 적용 No No
Windows 테마 적용 No No

앱 수명 주기

Feature Windows 앱 SDK 필요합니까? 패키지 ID가 필요합니까?
백그라운드 작업(Windows 앱 SDK) Yes Yes
시작 작업 No Yes

Windows 통합

Feature Windows 앱 SDK 필요합니까? 패키지 ID가 필요합니까?
시트 통합 공유 No No
디바이스 간 사용자 API No No
파일 연결 No Yes
Windows 위젯 No Yes

Security

Feature Windows 앱 SDK 필요합니까? 패키지 ID가 필요합니까?
자격 증명 보관 No No
OAuth 2.0 No No
지문 생체 인식 No No
스마트 카드 No No
암호화 No No

Resources

Feature Windows 앱 SDK 필요합니까? 패키지 ID가 필요합니까?
MRT Core 리소스 관리 Yes No

데스크톱 앱에서 사용할 수 있는 기능의 전체 목록은 Windows 앱 개발을 위한 기능을 참조하세요.

AI 지원 현대화

GitHub Copilot 현대화 에이전트는 데스크톱 솔루션을 분석하고 최신 Windows 기능을 추가하거나 앱을 최신 .NET 버전으로 업그레이드하는 끌어오기 요청을 생성할 수 있습니다. 자세한 내용은 AI 지원 현대화를 참조하세요.

참고하십시오

다음 단계