최신 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 지원 현대화를 참조하세요.
참고하십시오
다음 단계
Windows developer