Windows 앱 SDK 1.2에 대한 미리 보기 채널 릴리스 정보
Important
미리 보기 채널은 프로덕션 환경에서 사용할 수 없으며 미리 보기 릴리스를 사용하는 앱은 Microsoft 스토어에 게시할 수 없습니다.
미리 보기 채널에는 개발 후반 단계에서 미리 보기 채널 기능이 있는 Windows 앱 SDK 릴리스가 포함되어 있습니다. 미리 보기 릴리스에는 실험적 기능 및 API가 포함되지 않지만 다음 안정적인 릴리스 이전에도 호환성이 손상되는 변경이 발생할 수 있습니다.
중요 링크:
- 기존 앱을 이전 버전의 Windows 앱 SDK에서 최신 버전으로 업그레이드하려면 기존 프로젝트를 Windows 앱 SDK의 최신 릴리스로 업데이트를 참조하세요.
- 미리보기 릴리스에 대한 문서는 Windows App SDK의 미리보기 및 실험 채널에 대한 도구 설치를 참조하십시오.
최신 미리 보기 채널 릴리스:
최신 안정적인 채널 릴리스:
버전 1.2 미리 보기 2(1.2.0-preview2)
버전 1.2용 미리보기 채널의 최신 릴리스입니다.
기존 Windows App SDK 1.1(안정 채널에서) 앱에서 Nuget 패키지를 1.2.0-preview2로 업데이트할 수 있습니다(NuGet 패키지 매니저를 사용하여 Visual Studio에 패키지 설치 및 관리에서 패키지 업데이트 섹션 참조).
업데이트된 런타임 및 MSIX는 최신 Windows 앱 SDK 다운로드를 참조하세요.
Important
Visual Studio 2019 및 .NET 5는 더 이상 C# 앱 구축에 지원되지 않습니다( Windows App SDK 1.2에서 C# WinRT 2.0로이동 참조). Visual Studio 2022 및 .NET SDK 버전 6.0.401 이상, 6.0.304, 6.0.109 중 하나가 필요합니다.
.NET SDK 버전을 업데이트하려면 최신 버전의 Visual Studio 2022를 설치하거나 .NET 다운로드를 방문 하세요. 필수 .NET SDK 버전 없이 NuGet 패키지를 업데이트할 때 "이 버전의 WindowsAppSDK에는 .NET 6+ 및 WinRT.Runtime.dll 버전 2.0 이상이 필요합니다."와 같은 오류가 표시됩니다. 프로젝트를 .NET 5.0에서 .NET 6.0으로 업데이트하려면 프로젝트 파일을 열고 "TargetFramework"를 net6.0
적절한 값(예: )으로 net6.0-windows10.0.19041.0
변경하고 "대상 OS 버전"을 변경합니다.
Windows의 타사 위젯
위젯 보드는 Windows 11에서 처음 도입되었으며 자사 위젯을 표시하는 것으로 제한되었습니다. 위젯은 위젯 보드에 텍스트와 그래픽을 표시하는 작은 UI 컨테이너이며 장치에 설치된 앱과 연결됩니다. Windows 앱 SDK 타사 개발자는 이제 패키지된 Win32 앱에 대한 위젯을 만들고 Windows 11 위젯 보드에서 로컬로 테스트할 수 있습니다.
위젯에 대한 자세한 내용은 위젯 개요를 확인하십시오.
앱용 위젯 개발을 시작하려면 위젯 서비스 공급자 개발 문서 및 위젯 설계 기본사항에서 전제조건, 지침 및 모범사례를 확인하십시오.
이 릴리스의 필수 구성 요소는 다음과 같습니다.
- 개발 머신에서 사용하도록 설정된 개발자 모드입니다.
- 개발 컴퓨터는 위젯 보드 버전 521.20060.1205.0 이상을 사용하는 WIP(Windows 참가자 프로그램) 개발 채널에서 Windows 버전을 실행하고 있습니다.
위젯을 개발할 때 알려진 제한 사항
- 타사 위젯은 이 미리 보기 릴리스에 대해 WIP에 등록된 디바이스에서만 로컬로 테스트할 수 있습니다. Windows 앱 SDK 1.2.0에서 Windows의 소매 버전 사용자는 Microsoft Store에서 제공된 앱 버전을 통해 3P 위젯을 획득하기 시작할 수 있습니다.
- 위젯은 패키지된 Win32 앱에 대해서만 만들 수 있습니다. PWA(Progressive Web Apps) 위젯은 Microsoft Edge 108의 일부로 지원될 계획입니다.
.NET을 사용하여 개발된 앱에 대한 트리밍
.NET 개발자는 이제 잘려진 WinAppSDK 앱을 게시할 수 있습니다. CsWinRT 2.0을 사용하면 WinAppSDK에 분산된 C#/WinRT 프로젝션을 이제 트리밍할 수 있습니다. 잘려진 앱을 게시하면 트리밍 가능한 이진 파일에서 사용되지 않는 코드를 제거하여 앱의 디스크 공간을 줄일 수 있습니다. 앱에서 시작 성능이 향상될 수도 있습니다. 기본 헬로 월드 앱을 통해 게시된 트리밍 시 디스크 공간이 최대 80% 향상되고 시작 성능이 7% 향상되었습니다. WinUI 갤러리를 사용하면 디스크 공간이 최대 45% 향상되었습니다.
트리밍, 트리밍 제한 사항(예: 트리밍 가능한 형식에 대한 리플렉션) 및 트리밍 경고를 사용하도록 설정하는 방법에 대한 자세한 내용은 자체 포함 배포 및 실행 파일 트리밍을 참조 하세요. 개발자는 트리밍 후 앱을 철저히 테스트하여 모든 것이 예상대로 작동하는지 확인해야 합니다. 자세한 내용은 GitHub에서 발행되는 2478를 확인하십시오.
DisplayInformation
이제 Win32 앱은 WinAppSDK의 DisplayInformation 클래스를 통해 HDR(High Dynamic Range)을 지원할 수 있습니다. DisplayInformation 클래스를 사용하면 애플리케이션 보기에 대한 표시 관련 정보를 모니터링할 수 있습니다. 여기에는 클라이언트가 보기가 상주하는 디스플레이에 영향을 주는 애플리케이션 보기의 변경 내용과 애플리케이션 보기에 영향을 줄 수 있는 디스플레이의 변경 내용을 모니터링할 수 있는 이벤트가 포함됩니다.
WinUI 3의 문제 해결
- DesktopAcrylicController를 통한 아크릴 배경 자료는 이제 Windows 10 앱에서 지원됩니다. 자세한 내용은 GitHub에서 발행되는 7112를 확인하십시오.
- App.UnhandledException이 애플리케이션으로 라우팅되지 않는 문제를 해결했습니다. 자세한 내용은 GitHub에서 발행되는 5221를 확인하십시오.
- ListView 스타일이 회귀하고 WinAppSDK 1.1에서 변경되는 문제를 해결했습니다. 자세한 내용은 GitHub에서 발행되는 7666를 확인하십시오.
기타 제한 사항 및 알려진 문제(1.2.0-preview2)
Important
프로젝트에서 WinAppSDK 1.2를 참조하는 경우 다음과 유사한 오류가 표시될 수 있습니다. "검색된 패키지 다운그레이드: Microsoft.Windows.SDK.BuildTools를 10.0.22621.1에서 10.0.22000.194로", 앱 프로젝트 및 WinAppSDK 패키지의 패키지에 대한 호환되지 않는 참조로 인해 발생합니다. 이 문제를 해결하려면 프로젝트의 참조를 Microsoft.Windows.SDK.BuildTools의 최신 호환 버전으로 업데이트하거나 프로젝트에서 참조를 제거하면 됩니다. 프로젝트에서 제거하면 WinAppSDK 패키지에서 호환되는 버전을 암시적으로 참조합니다.
- Arm64 Visual Studio 를 사용한 빌드는 현재 지원되지 않습니다.
- 부트스트래퍼 및 실행 취소된 RegFree WinRT 자동 이니셜라이저 기본값은 실행 파일을 생성하는 프로젝트에 대해서만 설정됩니다(OutputType=Exe 또는 WinExe). 이렇게 하면 기본적으로 클래스 라이브러리 DLL 및 기타 실행 파일이 아닌 파일에 자동 이니셜라이저를 추가할 수 없습니다.
- 실행 불가능 파일에 자동 이니셜라이저가 필요한 경우(예: 부트스트래퍼를 초기화하지 않는 제네릭 실행 파일에 의해 로드된 테스트 DLL) 또는 통해
<WindowsAppSdkBootstrapInitialize>true</WindowsAppSdkBootstrapInitialize>
<WindowsAppSdkUndockedRegFreeWinRTInitialize>true</WindowsAppSdkUndockedRegFreeWinRTInitialize>
프로젝트에서 자동 이니셜라이저를 명시적으로 사용하도록 설정할 수 있습니다.
- 실행 불가능 파일에 자동 이니셜라이저가 필요한 경우(예: 부트스트래퍼를 초기화하지 않는 제네릭 실행 파일에 의해 로드된 테스트 DLL) 또는 통해
- 버전 정보 API(ReleaseInfo 및 RuntimeInfo)를 호출할 수 있지만 버전 0(실제 버전 정보가 아님)을 반환합니다.
버전 1.2 미리 보기 1 (1.2.0-preview1)
기존 Windows App SDK 1.1(안정 채널에서) 앱에서 Nuget 패키지를 1.2.0-preview1로 업데이트할 수 있습니다(NuGet 패키지 매니저를 사용하여 Visual Studio에 패키지 설치 및 관리에서 패키지 업데이트 섹션 참조).
업데이트된 런타임 및 MSIX는 최신 Windows 앱 SDK 다운로드를 참조하세요.
WinUI 3
WinUI 3 앱은 MediaPlayerElement 및 MediaTransportControls Media Playback 컨트롤로 오디오 및 비디오를 재생할 수 있습니다. 미디어 컨트롤을 사용하는 방법과 시기에 대한 자세한 내용은 미디어 플레이어를 참조 하세요.
WinUI 3은 WinUI 2.8의 최신 컨트롤, 스타일 및 동작으로 업데이트되었습니다. 이러한 업데이트에는 InfoBadge 컨트롤 추가, 접근성 및 고대비 모드 개선 사항, 컨트롤 전체의 버그 수정이 포함됩니다. 자세한 내용은 WinUI 2.7 및 WinUI 2.8에 대한 릴리스 정보를 참조하세요.
알려진 문제
ListView 스타일이 회귀되고 WinAppSDK 1.1에서 변경되었습니다.
알림
AppNotificationBuilder 는 앱 알림을 만들고 정의하기 위한 XML 페이로드의 대안으로 도입되었습니다.
사용량 정보는 GitHub의 AppNotificationBuilder 사양 을 참조하세요.
또한 로컬 앱 알림을 주고 받는 데스크톱 Windows 응용 프로그램을 만드는 방법에 대한 예는 Windows App SDK의Quickstart: App 알림을 참조하십시오.
주요 변경 내용
푸시 알림의 경우 채널 요청을 호출할 때 앱은 Azure 앱 ID 대신 Azure 개체 ID를 사용해야 합니다. Azure Object ID 찾기에 대한 자세한 내용은 Quickstart: Windows App SDK에서 Push 알림을 참조하십시오.
해결된 문제
PushNotificationManager.IsSupported는 상승 모드에 대한 검사 수행합니다. 앱이 상승하면 반환 false
됩니다.
알려진 제한 사항(알림)
- AppNotificationScenario에서,
Urgent
는 Windows 빌드 19041 이상에서만 지원됩니다. AppNotificationBuilder.IsUrgentScenarioSupported를 사용하여 런타임에 기능을 사용할 수 있는지 여부를 검사 수 있습니다. - AppNotificationButton에서,
hint-toolTip
와hint-buttonStyle
는 빌드 19041 이상에서만 지원됩니다. IsButtonStyleSupported 및 IsToolTipSupported를 사용하여 런타임에 기능을 사용할 수 있는지 여부를 검사 수 있습니다. - MediaPlayerElement에서 패키지되지 않은 앱의 XAML 태그에서 사용되는 경우 소스 속성은 ms-appx 또는 ms-resource URI로 설정할 수 없습니다. 또는 파일 URI를 사용하여 원본을 설정하거나 코드에서 설정합니다.
Windowing
이제 Windows 10, 1809 버전 이상에서 AppWindowTitleBar 클래스를 통해 전체 제목 표시줄 사용자 지정을 사용할 수 있습니다. AppWindowTitleBar.ExtendsContentIntoTitleBar를 true
로 설정하여 컨텐츠를 제목 표시줄 영역으로 확장하고, SetDragRectangles를 설정하여 드래그 영역을 정의할 수 있습니다(다른 사용자 지정 옵션 외에도).
AppWindowTitleBar.IsCustomizationSupported 속성을 사용하여 AppWindowTitleBar API를 호출할 수 있는지 확인했다면 이제 지원되는 Windows App SDK Windows 10 버전(1809 이상)에서 true
을(를) 반환합니다.
알려진 제한 사항(기간 이동)
Windows 10에서는 간단한 제목 표시줄 사용자 지정이 지원되지 않습니다. 여기에는 배경색, 비활성 배경색, 전경색, 비활성 전경색 및 아이콘쇼 옵션이 포함됩니다. 이러한 속성을 호출하면 자동으로 무시됩니다. 다른 모든 AppWindowTitleBar API는 Windows 10 버전 1809 이상에서 작동합니다. 캡션 버튼 색상 API(기타 중에서도) 및 높이의 경우 Extends Content IntoTitleBar을 true
로 설정해야 합니다. 그렇지 않으면 자동으로 무시됩니다.
Access Control
패키지화된 프로세스와 일반 Win32 API 간의 명명된 객체 공유를 용이하게 하고 능률화하기 위해 GetSecurityDescriptorForAppContainerNames 기능과 함께 security.accesscontrol.h를 도입하였습니다. 이 메서드는 PFN(패키지 패밀리 이름) 및 액세스 마스크 목록을 사용하고 보안 설명자를 반환합니다. 자세한 내용은 GitHub의 GetSecurityDescriptorForAppContainerNames 사양 을 참조하세요.
기타 제한 사항 및 알려진 문제(1.2.0-preview1)
- .NET PublishSingleFile은 지원되지 않습니다.
관련 항목
Windows developer