다음을 통해 공유


Windows 앱 SDK에 대한 최신 안정적인 채널 릴리스 정보

안정적인 채널은 프로덕션 환경의 앱에서 사용할 수 있도록 지원되는 Windows 앱 SDK의 릴리스를 제공합니다. Windows 앱 SDK의 안정적인 릴리스를 사용하는 앱을 Microsoft Store에 게시할 수도 있습니다.

중요 링크:

안정적인 채널 릴리스 정보 보관:

Windows App SDK 다운로드

참고 항목

Windows 앱 SDK Visual Studio 확장(VSIX)은 더 이상 별도의 다운로드로 배포되지 않습니다. Visual Studio 내의 Visual Studio Marketplace에서 사용할 수 있습니다.

버전 1.5

버전 1.5.4(1.5.240607001)

1.5 릴리스에 대한 중요한 버그 수정을 포함하는 Windows 앱 SDK의 서비스 릴리스입니다.

  • 라이브러리의 resources.pri를 앱의 resources.pri에 제대로 병합하기 위해 GitHub 문제 #8857 에 대한 수정 문제를 해결했습니다.
  • WebView2가 클릭할 때마다 추가 blurfocus 이벤트를 보내는 문제를 해결했습니다. 자세한 내용은 GitHub 문제 #9288을 참조하세요. 또한 GitHub 문제 #9566에서 볼 수 있듯이 드롭다운이 응답하지 않는 문제도 해결됩니다.
  • 새 창 또는 팝업을 만들면 진행 중인 끌기 작업이 취소되는 문제가 해결되었습니다. 자세한 내용은 GitHub 문제 #9360을 참조하세요.
  • 음수 뷰박스를 정의하는 SVG 파일이 더 이상 렌더링되지 않는 문제를 해결했습니다. 자세한 내용은 GitHub 문제 #9415를 참조하세요.
  • 약한 참조를 사용하기 전에 null확인하지 않아 충돌이 발생할 수 있는 문제를 해결 x:Bind 했습니다. 자세한 내용은 GitHub 문제 #9551을 참조하세요.
  • 창이 최대화될 때 제목 표시줄 가장자리에 크기 조정 커서가 잘못 표시되는 문제를 해결했으며, 이로 인해 해당 영역을 클릭하거나 끌 때 잘못된 동작이 발생했습니다. 자세한 내용은 GitHub 문제 #8665를 참조하세요.

Version 1.5.3 (1.5.240428000)

1.5 릴리스에 대한 중요한 버그 수정을 포함하는 Windows 앱 SDK의 서비스 릴리스입니다.

  • 경우에 따라 ItemsRepeater 창이 전면으로 이동하는 문제를 해결했습니다.
  • 투명성 상태가 업데이트될 때 발생할 수 있는 AcrylicBrush 충돌을 해결했습니다.
  • 기본 창보다 크거나 더 넓은 ShouldConstrainToRootBounds="false" 팝업에 있는 경우 ItemsRepeater이(가) 충분한 항목을 생성하지 못하는 문제를 해결했습니다.
  • 프로젝트 파일이 TargetPlatformVersion을 지정하지 않은 경우 빌드 타임에 오류 MSB4086이 발생할 수 있는 문제를 해결했습니다. 이 오류는 GitHub 문제 #9531의 일부로 발생했습니다.

Version 1.5.2 (1.5.240404000)

1.5 릴리스에 대한 중요 버그 수정과 위젯 피드 공급자에 대한 새로운 기능을 포함하는 Windows 앱 SDK의 서비스 릴리스입니다.

위젯 피드 공급자 업데이트

  • 이제 피드 공급자가 위젯 대시보드에 공지 사항을 표시할 수 있습니다.
    • FeedManager.TryShowAnnouncement API를 사용하면 피드 공급자가 위젯 대시보드에 공지 사항을 표시하도록 요청할 수 있습니다. 알림을 표시하려면 FeedAnnouncement 객체를 만들고 FeedManager.TryShowAnnouncement API를 호출합니다.
    • 피드 공지 사항에는 FeedAnnouncement API를 사용하여 사용자 지정할 수 있는 고유한 배지가 작업 표시줄에 표시됩니다.
  • 이제 피드 공급자는 사용자가 상호 작용할 때 공급자에 대한 분석 및 오류 보고서 정보를 수신하도록 옵트인할 수 있습니다. 옵트인하려면 공급자는 IFeedProviderAnalytics 인터페이스 및/또는 IFeedProviderErrors 인터페이스를 구현합니다.

피드 공급자 업데이트에 포함되는 새 API는 다음과 같습니다.

Microsoft.Windows.Widgets.Feeds.Providers
 
    FeedAnalyticsInfoReportedArgs
    FeedErrorInfoReportedArgs
    FeedManager
        SendMessageToContent
        TryShowAnnouncement
 
    FeedMessageReceivedArgs
    FeedResourceRequest
    FeedResourceRequestedArgs
    FeedResourceResponse
    IFeedAnnouncementInvokedTarget
    IFeedManager2
    IFeedProviderAnalytics
    IFeedProviderErrors
    IFeedProviderMessage
    IFeedResourceProvider
Microsoft.Windows.Widgets.Notifications
 
    AnnouncementActionKind
    AnnouncementTextColor
    FeedAnnouncement
    FeedAnnouncementInvokedArgs

버그 수정

  • 기본 디스플레이가 60Hz에서 실행되지 않는 경우 올바른 시간에 DispatcherTimer 이 실행되지 않는 문제를 해결했습니다.
  • 100%가 아닌 배율 인수에서 실행할 때 텍스트 상자 IME(입력 메서드 편집기) 창이 잘못 배치되는 문제를 해결했습니다. 자세한 내용은 GitHub문제 #9382을 참조하세요.
  • 다른 앱에서 끌어서 놓기 작업이 올바른 복사/이동/링크 삭제 작업을 허용하지 않는 문제를 해결했습니다.
  • ListView의 ItemsSource 가 다시 설정되고 포커스가 바로 지정될 때 발생할 수 있는 충돌을 해결했습니다.
  • 상속된 규모 변환을 ShouldConstrainToRootBounds="false" 팝업/플라이아웃이 적용하지 않는 문제를 해결했습니다. 자세한 내용은 GitHub 문제 #9118#9433를 참조하세요.
  • 컴퍼지션 객체가 여전히 실행 중인 애니메이션으로 소멸될 때 발생할 수 있는 충돌을 해결했습니다.
  • NavigationView::RevokeNavigationViewItemRevokers에서 종료될 때 발생할 수 있는 충돌을 해결했습니다.

Version 1.5.1 (1.5.240311000)

1.5 릴리스에 대한 중요한 버그 수정을 포함하는 Windows 앱 SDK의 서비스 릴리스입니다.

  • "map.html"을 복사할 수 없어서 자체 포함된 앱이 빌드되지 못하게 되는 문제를 해결했습니다.
  • 유효한 토큰을 거부하여 MapControl 이 초기화하지 못하는 문제를 해결했습니다. 자세한 내용은 GitHub문제 #9324을 참조하세요.
  • 파란색 배경으로 MapControl 이(가) 로드되는 문제를 해결했습니다. 자세한 내용은 GitHub문제 #9377을 참조하세요.
  • NavigationViewItem 의 갈매기 모양 아이콘을 클릭해도 한 번의 클릭으로 올바르게 확장되거나 축소되지 않는 문제가 해결되었습니다. 이로 인해 PaneDisplayMode="Top" 모드에서 펼침 단추를 클릭할 때 메뉴가 공백으로 표시되었습니다. 자세한 내용은 GitHub 문제 #9423#9426를 참조하세요.
  • NavigationViewItem 터치 또는 펜으로 탭하면 항목이 향후 입력에 응답하지 않는 문제를 해결했습니다. 자세한 내용은 GitHub문제 #9429을 참조하세요.
  • NavigationView.PaneFooter 영역에서 항목을 클릭할 때 발생하던 충돌을 해결했습니다. 자세한 내용은 GitHub문제 #9396을 참조하세요.
  • 메뉴의 아이콘이 때때로 잘못된 위치에 표시되는 문제를 해결했습니다. 자세한 내용은 GitHub문제 #9409을 참조하세요.
  • 창에서 뒤로 전환할 때까지 아크릴이 메뉴에 표시되지 않는 문제를 해결했습니다. 자세한 내용은 GitHub문제 #9406을 참조하세요.
  • TextBox/RichEditBox 초기화 중에 발생할 수 있는 충돌을 해결했습니다. 자세한 내용은 GitHub문제 #9216을 참조하세요.
  • NavigationView 이(가) 소멸에 걸리고 던진 까다로운 예외 몇 가지를 수정했습니다.
  • 잘못된 PointerCaptureLost 메시지 발생으로 인해 "확대/축소" 제스처가 팬 또는 탭으로 표시되는 문제가 해결되었습니다.

버전 1.5

다음 섹션에서는 버전 1.5의 새로운 기능과 업데이트된 기능 및 알려진 문제에 대해 설명합니다.

기존 Windows App SDK 1.4 앱에서는 Nuget 패키지를 1.5.240227000으로 업데이트할 수 있습니다(NuGet 패키지 매니저를 사용하여 Visual Studio에 패키지 설치 및 관리에서 패키지 업데이트 섹션 참조).

업데이트된 런타임 및 MSIX는 Windows 앱 SDK 대한 다운로드를 참조하세요.

XAML Islands 런타임 및 종료 업데이트

스레드의 마지막 Xaml 창이 닫힌 경우 Xaml Islands 기반 앱의 경우 WinAppSDK 1.4와 WinAppSDK 1.5 간에 동작 차이가 있습니다.

  • WinAppSDK 1.4에서 XAML 런타임은 스레드의 마지막 XAML 창이 닫혀 있을 때 항상 스레드의 이벤트 루프를 종료합니다.
  • WinAppSDK 1.5에서:
    • 앱이 WinUI Desktop 앱인 경우 기본 동작은 WinAppSDK 1.4와 동일합니다.
    • DesktopWindowXamlSource("Xaml Islands") API에 Xaml을 사용하는 경우 이제 기본 동작은 Xaml이 스레드의 이벤트 루프를 자동으로 종료하지 않는 것입니다.
    • 두 모드 모두에서 Application.DispatcherShutdownMode 속성을 설정하여 이 동작을 변경할 수 있습니다.

자세한 내용은 사용 가능한 경우 속성에 Application.DispatcherShutdownMode 대한 설명서를 참조하세요. 그러면 GitHub 제안 #8492가 완료됩니다.

Xaml 런타임의 수명 동안 Xaml Islands 기반 앱의 경우 WinAppSDK 1.4와 WinAppSDK 1.5 간에 동작 차이가 있습니다:

  • WinAppSDK 1.4에서 지정된 스레드의 모든 WindowsXamlManager 개체와 DesktopWindowXamlSource 개체를 닫거나 종료하거나 DispatcherQueue 해당 스레드에서 실행이 종료되면 XAML 런타임이 스레드에서 종료됩니다(이경우 DispatcherQueue.FrameworkShutdownStarting 단계 중에 XAML 런타임이 종료됨).
  • WinAppSDK 1.5에서 XAML 런타임은 해당 스레드에서 실행되는 DispatcherQueue가 종료될 때만 스레드에서 종료됩니다( DispatcherQueue.FrameworkShutdownStarting 단계 중에 XAML 런타임이 항상 종료됨).

자세한 내용은 WindowsXamlManager 클래스에 대한 설명서(사용 가능한 경우)를 참조하십시오.

WindowsXamlManager.InitializeForCurrentThread() 에는 행동 차이가 있습니다:

  • WinAppSDK 1.4 WindowsXamlManager.InitializeForCurrentThread() 에서 각 호출이 있는 개체의 고유한 인스턴스를 WindowsXamlManager 반환합니다.
  • WinAppSDK 1.5 WindowsXamlManager.InitializeForCurrentThread() 에서 스레드에 이미 있는 경우 기존 인스턴스를 반환합니다. Close/Dispose() 이제 무시됩니다.

WinUI 지도 컨트롤

이제 WinUI Maps 컨트롤을 사용할 수 있습니다. 이 컨트롤은 WebView2 및 Azure 지도 의해 구동되며 다음과 같은 기능을 제공합니다.

  • 지도 단추 또는 터치를 사용하여 이동 및 확대/축소
  • 지도의 스타일을 위성, 지형 또는 거리 보기로 변경합니다.
  • 개발자가 사용자 지정할 수 있는 아이콘이 있는 상호 작용 가능한 핀을 맵에 프로그래밍 방식으로 추가합니다.
  • 맵이 초기 로드의 중심이 되는 위치에 대한 개발자 사용자 지정
  • 이동, 확대/축소 및 지도 스타일에 대한 단추 숨기기 또는 표시를 통해 개발자를 제어합니다.

WinUI 3 Maps 컨트롤

참고 항목

컨트롤을 Maps 사용하려면 Azure 지도 키가 필요합니다. 키를 만들려면 웹앱을 만들기 위한 Azure 지도 설명서 페이지를 참조하세요.

이 컨트롤은 Maps 완전히 새로운 기능이며 향후 방향을 평가해주시기 위해 여러분의 의견을 환영합니다!

새 SelectorBar 컨트롤

1.5에서는 사용자가 여러 데이터 보기 간에 전환할 수 있도록 하는 새로운 SelectorBar 컨트롤을 추가했습니다. 이 컨트롤은 이전에 1.5 로드맵에서 "SegmentedControl"로 알려졌습니다.

WinUI 3 SelectorBar 컨트롤

CommandBarFlyout 기본 명령의 레이블

속성이 CommandBarFlyout 설정된 경우 Label 기본 명령 영역의 항목에 대한 텍스트 레이블을 표시하도록 시각적 개체가 업데이트되었습니다 AppBarButton. 이전에는 영역의 기본 명령에서 CommandBarFlyout 아이콘만 표시했지만 이제는 유용성을 향상시키기 위해 아이콘과 레이블을 모두 표시할 수 있습니다.

WinUI 3 CommandBarFlyout 레이블

사용자 지정 환경/옵션에 대한 WebView2 지원

이제 WinUI WebView2 컨트롤은 사용자 정의 CoreWebView2EnvironmentCoreWebView2ControllerOptions로 기본 CoreWebView2 개체를 사용자 정의할 수 있는 기능을 제공합니다. 이를 통해 앱 작성자는 WebView2Runtime을 로드할 대체 경로를 지정하거나, 다른 UserDataFolder를 사용하도록 선택하거나, IsPrivateModeEnabledScriptLocale과 같은 옵션을 설정할 수 있습니다.

.NET 8 지원

최근 1.4 서비스 릴리스에서 .NET 8에 대한 지원을 추가했지만 플랫폼별 RID 사용에 대한 경고는 계속 유지되었습니다. 1.5에서는 경고가 더 이상 존재하지 않도록 작업을 완료했습니다.

향상된 디버깅 및 원본 가용성

이제 microsoft-ui-xaml 리포지토리의 코드에 대한 Github 원본 서버 정보를 공용 기호에 삽입하여 디버거가 소스 코드를 자동으로 다운로드할 수 있도록 합니다. 또한 디버깅 환경을 개선하기 위해 전체 WinAppSDK에서 기호를 수정하고 개선했습니다.

레이아웃 주기를 디버깅하기 위한 향상된 기능

WinUI 앱에서 레이아웃 주기를 디버깅하는 것은 어려울 수 있으므로 이제 1.5 DebugSettings 에서 개체는 앱에서 레이아웃 주기를 더 쉽게 디버그하고 수정할 수 있도록 레이아웃 프로세스에 대해 향상된 로깅 및 중단점을 사용하도록 설정하는 옵션을 노출합니다.

WinAppSDK의 다른 새로운 기능

  • PublishSingleFile 배포 모델에 대한 지원이 추가되었습니다. PublishSingleFile에 대한 자세한 내용은 단일 파일 배포 설명서를 참조하세요 .
  • 화면 읽기 프로그램 지원, 텍스트 크기 조정 지원 및 기타 접근성 기능에 향상된 기능이 추가되었습니다.
  • 우선 순위가 지정된 GitHub 버그 백로그에 따라 다양한 안정성과 성능이 향상되었습니다.

새로운 기능이 별도로 출시됨

C# 및 C++용 WinAppSDK Visual Studio 템플릿의 새 버전은 Visual Studio Marketplace를 통해 릴리스되고 있으며 1.5 릴리스 후 몇 주 후에 표시됩니다. 새 버전을 사용하면 이제 템플릿이 WinAppSDK 릴리스와 독립적으로 릴리스되어 고객에게 업데이트를 받는 데 훨씬 더 많은 유연성을 제공할 수 있습니다.

이전에 계획된 기타 기능

1.5에서는 로드맵에서 발표한 다음 기능에 대해 진전을 이루었지만 완료하지는 못했습니다. 1.6 시간 범위로 계속됩니다.

  • 탭 창
  • WebView2에 대한 끌어서 놓기 지원
    • 명확히 하기 위해 1.5에서는 PNG를 파일 탐색기 Bing for Visual Search로 끌어서 1.5에서 WebView2로 끌기가 지원됩니다. WebView2에서 끌기 를 지원하기 위해 1.6에서 작업이 진행 중입니다.
  • 테이블 뷰 및 잉크 컨트롤에 대한 조사

동적 조명은 당분간 로드맵에서 제거되었습니다.

알려진 문제

  • .xaml 파일과 같은 리소스가 포함된 라이브러리를 사용하는 경우 런타임에 해당 리소스를 찾을 수 없음을 나타내는 오류 메시지가 표시될 수 있습니다. 이 경우 프로젝트 파일에 삽입 <ShouldComputeInputPris>true</ShouldComputeInputPris> 하여 해당 리소스가 포함되도록 해야 할 수 있습니다.
  • 한 번의 클릭으로 NavigationViewItem 더 이상 펼침 단추를 클릭하면 더 이상 제대로 확장되거나 축소되지 않습니다. 두 번 클릭해도 계속 작동합니다 NavigationViewItem.

버그 수정

  • 축소된 StackPanel 항목에 간격을 적용하는 문제를 해결했습니다. 자세한 내용은 GitHub문제 #916을 참조하세요.
  • 다른 앱 창을 닫은 후 스크롤 컨트롤이 더 이상 작동하지 않는 문제를 해결했습니다. 자세한 내용은 GitHub 문제 #9292#9355를 참조하세요.
  • 첫 번째 프레임이 렌더링되기 전에 DebugSettings.EnableFrameRateCountertrue으로 설정할 때 충돌을 수정했습니다. 자세한 내용은 GitHub문제 #2835을 참조하세요.
  • 일부 헤더에 필요한 종속성이 포함되지 않은 C++에 대한 잠재적인 컴파일 오류가 수정되었습니다. 순서 변경 #include 은 앱이 2023 이전 버전의 C++/WinRT를 사용하는 경우 컴파일 오류를 IInspectable 발생시키는 등 일부 앱에 영향을 줄 수 있습니다. 자세한 내용은 GitHub문제 #9014을 참조하세요.
  • 바인딩이 ElementName 내부에서 작동하지 않는 문제를 해결했습니다 ItemsRepeater DataTemplate. 자세한 내용은 GitHub문제 #560을 참조하세요.
  • 앱 내 도구 모음을 사용하도록 설정된 Visual Studio에서 앱을 실행할 때 발생하는 충돌을 해결했습니다. Visual Studio 17.8 미리 보기 2 이상은 수정 사항을 완전히 가져와야 합니다. 자세한 내용은 GitHub문제 #8806을 참조하세요.
  • 빠르게 스크롤할 때 때때로 충돌이 발생할 수 있는 AnnotatedScrollbar 문제를 해결했습니다.
  • 메뉴 텍스트가 잘리는 문제가 해결되었습니다.
  • 교육 팁이 적절한 초점을 받지 못하는 문제를 해결했습니다. 자세한 내용은 GitHub문제 #3257을 참조하세요.
  • 시작 시 Collapsed로 설정할 TailVisibility TeachingTip 때 애플리케이션이 충돌하는 문제를 해결했습니다 . 자세한 내용은 GitHub문제 #8731을 참조하세요.
  • 라이브러리를 사용할 때 PRI 파일이 처리되는 방식과 관련된 문제를 해결했습니다. 자세한 내용은 GitHub문제 #8857을 참조하세요.
  • 프로젝션 DLL이 생성되지 않은 1.5-experimental2 릴리스의 문제를 해결했습니다. 자세한 내용은 GitHub문제 #4152을 참조하세요.
  • 텍스트 서식 팝업의 RichEditBox 줄임표 단추가 작업 목록을 제대로 표시하지 않는 문제를 해결했습니다. 자세한 내용은 GitHub문제 #9140을 참조하세요.
  • 키보드 가속기를 제대로 처리하지 못하는 문제를 해결 ListView 했습니다. 자세한 내용은 GitHub문제 #8063을 참조하세요.
  • 창을 닫는 데 사용할 AccessKey 때의 액세스 위반 문제를 해결했습니다. 자세한 내용은 GitHub문제 #8648을 참조하세요.
  • 창을 닫는 데 사용할 AccessKey 때 충돌이 해결되었습니다. 자세한 내용은 GitHub문제 #9002을 참조하세요.
  • 내의 텍스트 맞춤에 MenuFlyoutItem 영향을 주는 문제를 해결했습니다 MenuBar. 자세한 내용은 GitHub문제 #8755을 참조하세요.
  • 강조 표시된 텍스트가 다시 표시되지 않는 문제를 해결했습니다기본 마우스 오른쪽 단추를 클릭할 때 강조 표시됨. 자세한 내용은 GitHub문제 #1801을 참조하세요.
  • 비활성 창이 닫혔을 때 앱이 충돌하는 문제를 해결했습니다. 자세한 내용은 GitHub문제 #8913을 참조하세요.
  • 마우스 가운데 단추를 사용하여 스크롤하고 그 직후 왼쪽 단추를 클릭할 때 애플리케이션을 중단시킬 수 있는 문제를 해결했습니다. 자세한 내용은 GitHub문제 #9233을 참조하세요.
  • 사용자 지정 NavigationViewItem을 사용할 때 시작 시 앱이 충돌하는 문제를 해결했습니다. 자세한 내용은 GitHub문제 #8814을 참조하세요.
  • NavigationView 줄임표 단추가 오류를 잘못 생성하는 문제를 해결했습니다. 자세한 내용은 GitHub문제 #8380을 참조하세요.
  • 다중 창 앱에서 제대로 렌더링되지 않는 문제를 해결 SystemBackdrop 했습니다. 자세한 내용은 GitHub문제 #8423을 참조하세요.
  • 의 시작 부분에 삽입할 때 중복 문제가 해결되었습니다 ObservableCollection. 자세한 내용은 GitHub문제 #8370을 참조하세요.