Windows 앱 SDK에 대한 최신 미리 보기 채널 릴리스 정보

Important

미리 보기 채널은 프로덕션 환경에서 사용할 수 없으며 미리 보기 릴리스를 사용하는 앱은 Microsoft 스토어에 게시할 수 없습니다.

미리 보기 채널에는 개발 후반 단계에서 미리 보기 채널 기능이 있는 Windows 앱 SDK 릴리스가 포함되어 있습니다. 미리 보기 릴리스에는 실험적 기능 및 API가 포함되지 않지만 다음 안정적인 릴리스 이전에도 호환성이 손상되는 변경이 발생할 수 있습니다.

중요 링크:

미리 보기 채널 릴리스 노트 보관:

버전 1.6 미리 보기 2(1.6.0-preview2)

버전 1.6에 대한 미리 보기 채널의 최신 릴리스입니다.

안정적인 채널의 기존 Windows 앱 SDK 1.5 앱에서 Nuget 패키지를 1.6.0-preview2로 업데이트할 수 있습니다(NuGet 패키지 관리자 사용하여 Visual Studio에서 패키지 설치 및 관리 섹션 참조).

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

새로운 기능

1.6-preview2에 필요한 C# 프로젝트 변경 내용

이 릴리스에는 1.6-preview1의 C# 프로젝트 지침도 필요합니다.

네이티브 AOT 지원

1.6-preview2에는 릴리스된 Microsoft.Windows.CsWinRT 버전 2.1.1로 업데이트하고 네이티브 Ahead-Of-Time 컴파일에 대한 빌드 안정성을 높이는 중요한 변경 사항이 포함되어 있습니다.

업데이트된 Edge WebView2 SDK 통합

이 릴리스는 이제 릴리스된 1.0.2651.64 버전의 Microsoft.Web.WebView2 패키지를 참조하며, 1.6-preview1에서 참조된 시험판 버전과 관련된 문제를 해결해야 합니다. 1.6-preview1에서 설명한 대로 앱은 이제 원하는 경우 최신 버전의 Microsoft.Web.WebView2 패키지를 선택할 수 있습니다.

버그 수정

1.6-preview2에는 1.6-preview1 릴리스 이후 다음과 같은 새로운 수정 사항이 포함되어 있습니다.

  • .xaml에서 설정할 InfoBar.IsOpen 때 충돌이 해결되었습니다. 자세한 내용은 GitHub 문제 #8391을 참조하세요.
  • 마우스가 경계 밖으로 이동할 때 HTML 요소가 포인터 캡처를 WebView2 잃는 문제를 해결했습니다. 자세한 내용은 GitHub 문제 #8677을 참조하세요.
  • 플라이아웃 ShouldConstrainToRootBounds=false 으로 끌어서 놓기 작업이 작동하지 않는 문제를 해결했습니다. 자세한 내용은 GitHub 문제 #9276을 참조하세요.
  • 사용 가능한 경우 PublishSingleFile 참조가 작동하지 않는 문제를 해결 ms-appx:// 했습니다. 자세한 내용은 GitHub 문제 #9468을 참조하세요.
  • 일부 이진 파일에 대해 디버거 기호가 제대로 작동하지 않는 문제를 해결했습니다. 자세한 내용은 GitHub 문제 #4633을 참조하세요.
  • 를 사용할 /permissive-때 빌드 중단이 수정되었습니다. 자세한 내용은 GitHub 문제 #4643을 참조하세요.
  • 이름이 바뀐 매개 변수로 인해 1.6-preview1에서 몇 가지 API 호환성이 손상되는 변경이 수정되었습니다. 자세한 내용은 GitHub 문제 #4645를 참조하세요.
  • 1.6-preview1의 일부 프로젝트, 특히 Windows.UI.Text 형식에서 발생한 형식 충돌 빌드 중단이 수정되었습니다. 자세한 내용은 GitHub 문제 #4646을 참조하세요.
  • 1.6-preview1에서 컨트롤 라이브러리의 리소스 조회 문제를 해결했습니다. 자세한 내용은 GitHub 문제 #4649를 참조하세요.
  • 서브클래싱 시 발생할 수 있는 충돌을 해결했습니다 NavigationView.
  • 테이블의 크기를 스크롤하거나 줄일 때 테이블 테두리 RichEditBox 가 올바르게 지워지지 않는 문제를 해결했습니다.
  • 플라이아웃의 MediaTransportControls 배경이 완전히 투명한 문제를 해결했습니다.
  • WebView2로 끌어다 놓으면 100% 이외의 표시 배율 인수 또는 시스템 텍스트 크기 조정이 사용되는 경우 잘못된 위치에 놓이는 문제가 해결되었습니다.
  • 한도에 있기 때문에 입력이 TextBox/RichEditBox 차단될 때 접근성 도구에 MaxLength 알리지 않는 문제를 해결했습니다.

버전 1.6 미리 보기 1(1.6.0-preview1)

버전 1.6에 대한 미리 보기 채널의 최신 릴리스입니다.

안정적인 채널의 기존 Windows 앱 SDK 1.5 앱에서 Nuget 패키지를 1.6.0-preview1로 업데이트할 수 있습니다(NuGet 패키지 관리자 사용하여 Visual Studio에서 패키지 설치 및 관리 섹션 참조).

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

새로운 기능

참고 항목

1.6-experimental1에서 릴리스한 새로운 TitleBar 컨트롤은 아직 1.6의 비 실험적 빌드에서 사용할 수 없으므로 커뮤니티 피드백을 평가하고 응답하는 데 더 많은 시간을 할애할 수 있습니다. 우리는 여기에 큰 입력을 많이 받았고 그것을 해결하는 데 필요한 시간을 가지고 있는지 확인하고 싶습니다.

1.6-preview1에 필요한 C# 프로젝트 변경 내용

1.6-preview1에서 Windows 앱 SDK 관리되는 앱에는 파일의 WindowsSdkPackageVersion을 통해 지정할 수 있는 Microsoft.Windows.SDK.NET.Ref*.*.*.38가 필요합니다. csproj 예시:

<Project Sdk="Microsoft.NET.Sdk">
   <PropertyGroup>
       <OutputType>WinExe</OutputType>
       <TargetFramework>net8.0-windows10.0.22621.0</TargetFramework>
       <TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
       <WindowsSdkPackageVersion>10.0.22621.38</WindowsSdkPackageVersion>
   <PropertyGroup>
   ...

또한 Windows 앱 SDK 관리되는 앱은 Microsoft.Windows.CsWinRT 2.1.1 (이상)로 업데이트해야 합니다.

네이티브 AOT 지원

.NET PublishAot 프로젝트 속성은 이제 네이티브 Ahead-Of-Time 컴파일에 대해 지원됩니다. 네이티브 AOT에 대한 자세한 내용은 네이티브 AOT 배포를 참조하세요. AOT는 트리밍 지원을 기반으로 하므로 이전에 1.6-experimental1 릴리스에 설명된 트리밍 관련 지침의 상당 부분도 적용됩니다. 자세한 내용은 네이티브 AOT 지원을 참조하세요.

위에서 설명한 것처럼 C# 프로젝트에는 Microsoft.Windows.CsWinRT 2.1.1 이상에 대한 패키지 참조가 있어야 합니다. 이 버전에는 AOT로부터 안전한 ICustomPropertyProvider 구현이 포함되어 있습니다. 이 지원과 함께 사용되는 형식은 특성과 함께 WinRT.GeneratedBindableCustomProperty partial표시되어야 합니다.

Edge WebView2 SDK 통합 변경됨

이제 Windows 앱 SDK Edge WebView2 SDK의 하드 코드된 버전을 포함하는 대신 Edge WebView2 SDK를 NuGet 참조로 사용합니다. 새 모델을 사용하면 앱이 Windows 앱 SDK 빌드된 버전 Microsoft.Web.WebView2 으로 제한되는 대신 최신 버전의 패키지를 선택할 수 있습니다. 또한 새 모델을 사용하면 앱이 Edge WebView2 SDK를 참조하는 NuGet 패키지를 참조할 수 있습니다. 자세한 내용은 GitHub 문제 #5689를 참조하세요.

새 패키지 배포 API

패키지 관리 API는 Is*ReadyOrNewerAvailable*(), EnsureReadyOptions.RegisterNewerIfAvailable, Is*Provisioned*(), IsPackageRegistrationPending() 및 여러 버그 수정을 포함하여 몇 가지 향상된 기능을 받았습니다. 자세한 내용은 PackageManagement.md 및 끌어오기 요청 #4453을 참조하세요.

향상된 TabView 탭 분리

TabView 는 탭을 끌어서 새 CanTearOutTabs 창으로 끌어서 끌 수 있는 향상된 환경을 제공하는 새 모드를 지원합니다. 이 새 옵션을 사용하도록 설정하면 탭 끌기가 Edge 및 Chrome의 탭 끌기 환경과 매우 유사합니다. 이 경우 끌기 중에 새 창이 즉시 생성되므로 사용자가 화면 가장자리로 끌어 창을 한 번의 부드러운 동작으로 최대화하거나 스냅할 수 있습니다. 또한 이 구현은 끌어서 놓기 API를 사용하지 않으므로 해당 API의 제한 사항에 영향을 받지 않습니다. 특히 관리자 권한으로 실행되는 프로세스에서 탭 해제가 지원됩니다.

기타 주목할 만한 변경 내용

  • UWP와 격차를 메우는 새 ColorHelper.ToDisplayName() API를 추가했습니다.
  • 특히 새 기능을 포함하는 새 Microsoft.Windows.Globalization.ApplicationLanguages PrimaryLanguageOverride 클래스가 추가되었습니다. 자세한 내용은 GitHub 문제 #4523을 참조하세요.
  • 봉인 ItemsWrapGrid되지 않았습니다. 이는 이전 버전과 호환되는 변경이어야 합니다.
  • PipsPager 는 첫 번째 항목과 목록 항목 간에 래핑할 수 있는 새 모드를 지원합니다.
  • RatingControl 는 이제 일부 하드 코딩된 스타일 속성을 테마 리소스로 이동하여 사용자 지정할 수 있습니다. 이렇게 하면 앱이 이러한 값을 재정의하여 RatingControl의 모양을 더 잘 사용자 지정할 수 있습니다.

알려진 문제

  • 디버거가 모든 C++ 예외에서 중단되도록 설정된 경우 BCP47(Windows 세계화) 코드에서 시작 시 시끄러운 예외 쌍이 중단됩니다.

버그 수정

  • 사용자 지정 제목 표시줄 시나리오 처리와 관련된 몇 가지 문제가 해결되었습니다. 자세한 내용은 GitHub 문제 #7629, #9670, #9709#8431을 참조하세요.
  • 아이콘이 InfoBadge 표시되지 않는 문제를 해결했습니다. 자세한 내용은 GitHub 문제 #8176을 참조하세요.
  • 아이콘이 잘못된 위치에 표시되는 문제를 해결했습니다 CommandBarFlyout. 자세한 내용은 GitHub문제 #9409을 참조하세요.
  • 하위 메뉴를 열거나 닫을 때 메뉴의 키보드 포커스 문제가 해결되었습니다. 자세한 내용은 GitHub 문제 #9519를 참조하세요.
  • 항목을 재활용할 때 잘못된 IsExpanded 상태를 사용하는 문제를 해결 TreeView 했습니다. 자세한 내용은 GitHub 문제 #9549를 참조하세요.
  • 에서 ElementName 바인딩을 사용할 때 발생하는 문제를 해결했습니다 ItemsRepeater.ItemTemplate. 자세한 내용은 GitHub 문제 #9715를 참조하세요.
  • 경우에 따라 위치가 잘못된 첫 번째 항목 ItemsRepeater 의 문제를 해결했습니다. 자세한 내용은 GitHub 문제 #9743을 참조하세요.
  • 경우에 따라 최소/최대/닫기 단추에 대한 입력을 중단하는 문제를 해결 InputNonClientPointerSource 했습니다. 자세한 내용은 GitHub 문제 #9749를 참조하세요.
  • clang-cl과 함께 Microsoft.UI.Interop.h를 사용할 때 컴파일 오류가 수정되었습니다. 자세한 내용은 GitHub 문제 #9771을 참조하세요.
  • 에서 이벤트가 작동하지 않는 문제를 해결 CharacterReceived 했습니다 ComboBox/TextBox. 자세한 내용은 GitHub 문제 #9786을 참조하세요.
  • 배율 인수가 100%와 다른 모니터에서 포인터 입력 동작 CanTearOutTabs 이 잘못된 1.6 실험적 빌드의 문제를 해결했습니다. 자세한 내용은 GitHub 문제 #9791을 참조하세요.
  • 일부 언어 번역에 문자 인코딩 문제가 있는 1.6-experimental2 빌드의 문제를 해결 ColorHelper.ToDisplayName()했습니다.
  • 올바른 전경색과 배경색을 사용하지 않는 1.6-experimental1 NumberBox 의 문제를 해결했습니다. 자세한 내용은 GitHub 문제 #9714를 참조하세요.
  • 화살표 및 탭 키에 대해 중복 KeyUp 이벤트가 발생하는 문제를 해결했습니다. 자세한 내용은 GitHub 문제 #9399를 참조하세요.
  • 이벤트를 가져올 수 없는 문제를 해결 PowerManager.SystemSuspendStatusChanged 했습니다 SystemSuspendStatus. 자세한 내용은 GitHub 문제 #2833을 참조하세요.
  • 초기 키보드 포커스가 창의 유일한 컨트롤이었던 때에 올바르게 지정 WebView2 되지 않은 문제를 해결했습니다.
  • UI 자동화 최소/최대/닫기 단추가 올바르게 나타나지 않아 음성 액세스에서 해당 단추의 번호가 표시되지 않는 문제를 해결 ExtendsContentIntoTitleBar=true 했습니다.
  • 예기치 않은 재진입으로 인해 잠금 검사에서 앱이 충돌할 수 있는 문제를 해결했습니다.
  • 고대비 테마로 전환할 때 색이 올바르게 업데이트되지 않는 문제를 해결 Hyperlink 했습니다.
  • 배경 창에서 컬렉션을 ListView 변경하면 해당 창이 포그라운드로 잘못 이동하고 포커스를 이동할 수 있는 문제가 해결되었습니다.
  • 클래스 라이브러리 프로젝트의 .xaml에서 설정 AcrylicBrush.TintLuminosityOpacity 이 형식 변환 오류와 충돌하는 1.6-experimental1의 문제를 해결했습니다.
  • 호출 ItemsRepeater.StartBringIntoView 로 인해 항목이 사라질 수 있는 문제가 해결되었습니다.
  • in a에서 ScrollViewer 터치하고 끌 Button 면 누름 상태로 유지되는 문제를 해결했습니다.
  • 최신 형식 및 멤버에 대한 정보가 누락된 IntelliSense가 업데이트되었습니다.
  • 빈 영역을 ScrollViewer 클릭하면 항상 포커스가 있는 첫 번째 컨트롤로 포커스를 이동하고 해당 컨트롤 ScrollViewer 을 보기로 스크롤하는 문제가 해결되었습니다. 자세한 내용은 GitHub 문제 #597을 참조하세요.
  • 이벤트가 때때로 여러 번 발생되는 Window.Activated 문제를 해결했습니다. 자세한 내용은 GitHub 문제 #7343을 참조하세요.
  • 확장할 때 자식이 NavigationViewItem.IsSelected 표시되지 않도록 true 속성을 설정하는 문제를 해결했습니다. 자세한 내용은 GitHub 문제 #7930을 참조하세요.
  • 캡션 None 이나 DropShadow 에지 효과를 제대로 표시하지 않는 문제가 해결 MediaPlayerElement 되었습니다. 자세한 내용은 GitHub 문제 #7981을 참조하세요.
  • 플라이아웃을 표시할 Flyout.ShowMode 때 속성이 사용되지 않는 문제를 해결했습니다. 자세한 내용은 GitHub 문제 #7987을 참조하세요.
  • 반올림 오류가 발생하는 NumberBox 문제를 해결했습니다. 자세한 내용은 GitHub 문제 #8780을 참조하세요.
  • 이전 버전의 WinAppSDK에 대해 컴파일된 라이브러리를 사용하면 형식 또는 속성을 찾는 동안 오류가 발생할 수 있는 문제가 해결되었습니다. 자세한 내용은 GitHub 문제 #8810을 참조하세요.
  • 창을 시작할 때 초기 키보드 포커스가 설정되지 않은 문제를 해결했습니다. 자세한 내용은 GitHub 문제 #8816을 참조하세요.
  • 처음 표시된 후 작동하지 않는 문제를 해결 FlyoutShowMode.TransientWithDismissOnPointerMoveAway 했습니다. 자세한 내용은 GitHub 문제 #8896을 참조하세요.
  • 일부 컨트롤이 바인딩 및 Background 속성을 올바르게 템플릿으로 Foreground 지정하지 않는 문제를 해결했습니다. 자세한 내용은 GitHub 문제 #7070, #9020, #9029, #9083#9102를 참조하세요.
  • setter에서 VisualStateManager 사용되는 문제가 테마 변경 시 업데이트되지 않는 문제를 해결ThemeResource했습니다. 플라이아웃에서 일반적으로 영향을 받는 컨트롤입니다. 자세한 내용은 GitHub 문제 #9198을 참조하세요.
  • 키 포커스가 손실되어 WebView 추가 흐림/포커스 이벤트 및 기타 문제가 발생하는 문제를 해결했습니다. 자세한 내용은 GitHub 문제 #9288을 참조하세요.
  • 디버그 출력에 바인딩 오류를 표시할 수 있는 NavigationView 문제를 해결했습니다. 자세한 내용은 GitHub 문제 #9384를 참조하세요.
  • 음수 뷰박스를 정의하는 SVG 파일이 더 이상 렌더링되지 않는 문제를 해결했습니다. 자세한 내용은 GitHub 문제 #9415를 참조하세요.
  • 방향을 변경 ItemsView.Layout 하면 항목이 제거되는 문제가 해결되었습니다. 자세한 내용은 GitHub 문제 #9422를 참조하세요.
  • 스크롤하면 ScrollView 많은 디버그 출력이 생성되는 문제가 해결되었습니다. 자세한 내용은 GitHub 문제 #9434를 참조하세요.
  • 제대로 작동하지 않는 문제를 해결 MapContorl.InteractiveControlsVisible 했습니다. 자세한 내용은 GitHub 문제 #9486을 참조하세요.
  • 이벤트가 제대로 실행되지 않는 문제를 해결 MapControl.MapElementClick 했습니다. 자세한 내용은 GitHub 문제 #9487을 참조하세요.
  • 약한 참조를 사용하기 전에 x:Bind가 null을 확인하지 않아 충돌이 발생할 수 있는 문제를 해결했습니다. 자세한 내용은 GitHub 문제 #9551을 참조하세요.
  • 속성을 변경해도 해당 위치가 TeachingTip.Target 올바르게 업데이트되지 않는 문제가 해결되었습니다. 자세한 내용은 GitHub 문제 #9553을 참조하세요.
  • WebView2에서 드롭다운이 응답하지 않는 문제를 해결했습니다. 자세한 내용은 GitHub 문제 #9566을 참조하세요.
  • 를 사용할 GeometryGroup때 메모리 누수 수정 자세한 내용은 GitHub 문제 #9578을 참조하세요.
  • 한 항목에서 ItemRepeater 매우 많은 수의 항목을 스크롤하면 빈 렌더링 프레임이 발생할 수 있는 ScrollView 문제를 해결했습니다. 자세한 내용은 GitHub 문제 #9643을 참조하세요.
  • 작동하지 않는 문제를 해결 SceneVisual 했습니다.

1.6.0-preview1의 새 API

버전 1.6-preview1에는 안정적인 1.5 릴리스와 비교하여 다음과 같은 새로운 API가 포함되어 있습니다.

Microsoft.UI

    ColorHelper
        ToDisplayName
Microsoft.UI.Input

    EnteredMoveSizeEventArgs
    EnteringMoveSizeEventArgs
    ExitedMoveSizeEventArgs
    InputNonClientPointerSource
        EnteredMoveSize
        EnteringMoveSize
        ExitedMoveSize
        WindowRectChanged
        WindowRectChanging

    MoveSizeOperation
    WindowRectChangedEventArgs
    WindowRectChangingEventArgs
Microsoft.UI.Xaml

    XamlRoot
        CoordinateConverter
Microsoft.UI.Xaml.Automation.Peers

    ScrollPresenterAutomationPeer
Microsoft.UI.Xaml.Controls

    PipsPager
        WrapMode
        WrapModeProperty

    PipsPagerWrapMode
    TabView
        CanTearOutTabs
        CanTearOutTabsProperty
        ExternalTornOutTabsDropped
        ExternalTornOutTabsDropping
        TabTearOutRequested
        TabTearOutWindowRequested

    TabViewExternalTornOutTabsDroppedEventArgs
    TabViewExternalTornOutTabsDroppingEventArgs
    TabViewTabTearOutRequestedEventArgs
    TabViewTabTearOutWindowRequestedEventArgs
Microsoft.Windows.Globalization

    ApplicationLanguages
Microsoft.Windows.Management.Deployment

    EnsureReadyOptions
        RegisterNewerIfAvailable

    PackageDeploymentFeature
    PackageDeploymentManager
        IsPackageDeploymentFeatureSupported
        IsPackageProvisioned
        IsPackageProvisionedByUri
        IsPackageReadyOrNewerAvailable
        IsPackageReadyOrNewerAvailableByUri
        IsPackageSetProvisioned
        IsPackageSetReadyOrNewerAvailable

    PackageReadyOrNewerAvailableStatus
Microsoft.Windows.Storage

    ApplicationData
    ApplicationDataContainer
    ApplicationDataContract
    ApplicationDataCreateDisposition
    ApplicationDataLocality