다음을 통해 공유


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

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

중요 링크:

최신 안정적인 채널 릴리스:

Windows App SDK 다운로드

참고 항목

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

버전 1.1

Windows 앱 SDK 안정적인 채널의 1.1.x 계보의 사용 가능한 최신 릴리스는 버전 1.1.5입니다. 1.1.x는 모든 안정적인 채널 기능을 지원합니다(Windows App SDK 릴리스 채널릴리스 채널별 사용 가능한 기능 섹션 참조).

버전 1.1.5

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

버그 수정(1.1.5)

  • Mica를 사용하는 경우 아크릴이 작동하지 않는 문제가 해결되었습니다. 자세한 내용은 Github의 문제 7200을 참조하세요.
  • Windows 10 ARM64 컴퓨터에서 WindowsAppRuntime 설치 관리자(예: 패키지되지 않은 앱)에 의존하는 앱이 실행되지 않는 문제를 해결했습니다. 자세한 내용은 Github의 문제 2564을 참조하세요.

버전 1.1.4

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

버그 수정(1.1.4)

  • 1.0.x의 회귀가 수정되어 많은 항목으로 스크롤할 때 ListView, TreeView 및 기타 'List' 컨트롤이 충돌합니다. 자세한 내용은 Github의 문제 7230을 참조하세요.
  • 큐에 넣기된 콜백이 더 이상 호출되지 않는 DispatcherQueue 문제를 해결했습니다.
  • 동일한 앱 세션에서 여러 번 호출 DeploymentManager.Initialize 할 때 앱 충돌이 발생하는 문제를 해결했습니다.
  • Arm64 Visual Studio에서 C# 앱을 빌드하지 못하는 문제를 해결했습니다. 자세한 내용은 Github의 문제 7140을 참조하세요.
  • 잘못된 오류 처리로 인해 XAML 이미징 코드에서 일시적인 충돌이 수정되었습니다.
  • ItemsRepeater에서 부모 UserControl을 사용하여 이벤트 처리기를 연결할 때 발생하는 메모리 누수 문제가 해결되었습니다. 자세한 내용은 Github의 문제 6123을 참조하세요.
  • 테스트용 로드 시 패키지의 자동 업데이트를 사용하도록 앱 프로젝트를 구성할 때(예: .appinstaller) Visual Studio 17.3에서 빌드 오류가 발생하는 문제를 해결했습니다. 자세한 내용은 문제 2773을 참조하세요.
  • Initialize(예: 푸시에 필요)를 호출하는 스토어 분산 패키지 앱이 기본 및 싱글톤 패키지가 이미 설치되었을 때 중복적으로 DeploymentManager::GetStatus가 반환 Package Install Needed 되는 문제를 해결했습니다. 이로 인해 앱 시작 시 성능이 저하되었습니다.
  • 정리 이벤트를 열 수 없는 경우 무시하려고 했을 때 단일 인스턴스 앱에서 예외를 발생시키는 수정된 문제. 자세한 내용은 GitHub의 PR 를 참조하십시오.

버전 1.1.3

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

버그 수정(1.1.3)

  • 앱의 첫 번째 페이지에 ProgressBar, ProgressRing, PipsPager, PersonPicture 또는 Expander 컨트롤을 포함할 때 XAML이 충돌하는 관련 문제 집합이 수정되었습니다. 자세한 내용은 Github의 문제 7164을 참조하세요.
  • x64 설치 관리자가 Windows 앱 SDK 런타임을 설치하지 못하는 문제를 해결했습니다. 자세한 내용은 Github의 문제 2713을 참조하세요.
  • 더 높은 버전의 런타임이 설치된 경우 WindowsAppRuntime을 설치하지 못하는 문제를 해결했습니다. 자세한 내용은 GitHub의 토론 2708 를 참조하십시오.

버전 1.1.2

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

버그 수정(1.1.2)

  • 대화 상자가 열려 있는 동안 창을 닫을 때 XAML이 충돌하는 문제를 해결했습니다. 자세한 내용은 Github의 문제 1032을 참조하세요.
  • StyleCop 경고를 방지하기 위해 C# 파일에 태그가 추가 <auto-generated> 되었습니다. 자세한 내용은 Github의 문제 4526을 참조하세요.
  • 일치하는 프레임워크 패키지가 설치되어 있지 않을 때 MddBootstrapInitialize를 호출할 때 액세스 위반 오류 및 충돌이 발생하는 문제를 해결했습니다. 자세한 내용은 Github의 문제 2592을 참조하세요.
  • Visual Studio에서 C# WinUI 3 항목 템플릿이 누락된 문제를 해결했습니다. 자세한 내용은 Github의 문제 7164 을 참조하세요.
  • 시스템 사용자로 실행할 때 WindowsAppRuntime 설치 관리자가 실패하는 문제를 해결했습니다. 자세한 내용은 Github의 문제 2546을 참조하세요.

버전 1.1.1

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

버그 수정(1.1.1)

  • 끌어서 놓기 작업 중에 앱이 때때로 충돌하는 문제를 해결했습니다. 자세한 내용은 Github의 문제 7002을 참조하세요.
  • AppWindowPresenterKind를 FullScreen에서 기본값으로 전환할 때 제목 표시줄이 사라지는 문제를 해결했습니다.
  • 부트스트래퍼 API ApiInformation.IsPropertyPresent 가 패키지되지 않은 앱에서 처리되지 않은 예외를 좋아하고 ApiInformation.IsMethodPresent 발생시키는 문제를 해결했습니다. 자세한 내용은 Github의 문제 2382을 참조하세요.
  • 펜 입력으로 애플리케이션을 최대화할 때 앱이 중지되는 문제를 해결했습니다.

1.1에 대한 새로운 기능 및 업데이트된 기능 및 알려진 문제

다음 섹션에서는 1.1.에 대한 새로운 기능과 업데이트된 기능, 제한 사항 및 알려진 문제에 대해 설명합니다.

참고 항목

C# 개발자의 경우 다음 .NET SDK 버전(이상) 중 하나가 필요합니다. 6.0.202, 6.0.104, 5.0.407, 5.0.213. .NET SDK 버전을 업데이트하려면 .NET 다운로드를 방문하거나 최신 버전의 Visual Studio로 업데이트합니다. 필수 .NET SDK 버전이 없으면 NuGet 패키지를 업데이트할 때 "이 버전의 WindowsAppSDK에는 WinRT.Runtime.dll 버전 1.6 이상이 필요합니다."와 같은 오류가 표시됩니다.

앱 수명 주기 & 다시 시작

앱은 이제 기존 RegisterApplicationRestart API에서 특정 인수 & 상태 빌드로 명시적 재시작을 시작하여 OS에 등록하여 업데이트에서 다시 시작하고 & 재부팅 시나리오를 중단할 수 있습니다.

새 기능:

  • 패키지 또는 패키지되지 않은 데스크톱 앱은 명령에서 자신을 종료하고 다시 시작하고 API를 사용하여 AppInstance.Restart() 다시 시작한 인스턴스에 대한 임의의 명령줄 문자열에 액세스할 수 있습니다.
    • 이것은 UWP RequestRestartAsync() API의 리프트되고 동기화된 버전으로 인수를 사용하여 재시작할 수 있으며 재시작이 실패할 경우 AppRestartFailureReason 를 반환합니다.
    • 사용 & 참조 정보는 GitHub의 Restart API 문서를 확인하십시오.

WinUI 3

WinUI 3은 Windows 앱 SDK에 대한 기본 UX(사용자 환경) 프레임워크입니다. 이 릴리스에는 WinAppSDK 1.0의 새로운 기능과 1.0 & 1.1 미리 보기 릴리스의 몇 가지 안정성 개선 사항이 포함되어 있습니다.

새 기능:

  • 이제 WinUI 3 애플리케이션에서 Mica 및 Background Acrylic을 사용할 수 있습니다.
  • 1.0.1에서 처음 도입된 WinUI 3 애플리케이션에서 동일한 스레드 에 여러 창을 만들 수 있도록 안정화하고 사용하도록 설정했습니다. 자세한 내용은 문제 #5918 을 참조하세요.

수정된 버그:

  • 창이 두 화면으로 균등하게 분할될 때 앱이 충돌하는 Mica를 사용할 때 발생하는 문제가 해결되었습니다. 자세한 내용은 GitHub의 문제 #7079를 참조하십시오.
  • WebView2 SDK를 1020.46에서 1185.39로 업그레이드하여 C/C++ 런타임(CRT)이 설치되지 않은 경우 WebView2가 있는 C# 앱이 시작 시 충돌하는 문제를 해결했습니다.
  • 일부 둥근 모서리가 단색이어야 할 때 그라데이션을 표시하는 문제를 해결했습니다. 자세한 내용은 GitHub의 문제 6076 & 문제 6194를 참조하세요.
  • generic.xaml에서 업데이트된 스타일이 누락된 문제를 해결했습니다.
  • ListView의 끝으로 스크롤할 때 앱이 충돌하는 레이아웃 주기 문제가 해결되었습니다. 자세한 내용은 Github의 문제 6218을 참조하세요.
  • 드래그 앤 드롭이 활성화된 경우 사용자가 요소를 드롭할 수 없는 수정된 문제입니다. 자세한 내용은 Github의 문제 7008을 참조하세요.

알려진 제한 사항:

  • 사용자 지정 제목 표시줄을 사용하는 경우 캡션 컨트롤은 테마 변경 시 색을 변경하지 않습니다.
  • 대화 상자가 열려 있는 동안 사용자가 창을 닫으면 XAML이 충돌합니다.

배포

새 기능:

알려진 제한 사항:

  • Windows 앱 런타임 설치 관리자(WindowsAppRuntimeInstall.exe)를 실행하려면 사이드로드를 사용하도록 설정해야 합니다. 자세한 내용은 Github의 문제 2469을 참조하세요.
  • Visual Studio 프로젝트 메뉴를 통해 MSIX 패키지를 만들면 일부 시나리오에서 Visual Studio가 충돌할 수 있습니다. 이 문제는 Visual Studio 버전 17.3 미리 보기 2에서 해결되고 17.2로 서비스됩니다. 이 문제가 발생하는 경우 명령줄에서 MSIX를 생성하거나, 패키지되지 않은 프로젝트로 전환하거나, Windows 앱 SDK 1.0으로 다시 되돌리기 문제를 해결할 수 있습니다.
  • MSIX로 패키지된 자체 포함 애플리케이션은 1809에서 지원되지 않아 시작 시 앱 작동이 중단됩니다.

권한 상승

이제 앱이 상승된 권한으로 실행할 수 있습니다.

알려진 제한 사항:

환경 변수 관리자

환경 변수 관리자는 Windows 앱 SDK 1.1에 도입된 새로운 API입니다. 환경 변수 관리자를 사용하면 개발자가 한 API 화면에서 프로세스, 사용자 및 컴퓨터 범위의 환경 변수에 액세스하고 수정할 수 있습니다.

패키지된 애플리케이션에서 환경 변수 관리자를 사용하는 경우 모든 환경 변수 작업이 기록됩니다. 패키지가 제거되면 모든 환경 변수 작업이 되돌리기.

새 기능:

  • 프로세스, 사용자 및 컴퓨터 범위에서 환경 변수를 가져와서 설정합니다.
  • 자동 환경 변수는 환경 변수 관리자를 사용하는 패키지가 제거될 때 되돌리기.
  • PATH 및 PATHEXT에 대한 특정 API를 포함합니다.

알려진 제한 사항:

  • Windows 11에서만 사용 가능

MRT Core

MRT Core는 Windows 앱 SDK의 일부로 배포되는 최신 Windows 리소스 관리 시스템의 간소화된 버전입니다.

수정된 문제:

  • VS UI를 사용하여 리소스 파일을 추가할 때 리소스가 기본적으로 인덱싱되지 않는 문제가 .NET SDK 6.0.300에서 해결되었습니다. 이전 .NET SDK 버전을 사용하는 경우 1.0의 릴리스 정보에 설명된 해결 방법을 계속 사용하세요. 자세한 내용은 GitHub의 issue 1786를 참조하십시오.
  • 패키지되지 않은 C++ WinUI 3 앱에서 리소스 URI가 올바르게 빌드되지 않는 문제가 Visual Studio 2022 17.2에서 해결되었습니다. 이전 Visual Studio 버전을 사용하는 경우 이 수정을 받으려면 Visual Studio를 17.2로 업데이트하세요.

알려진 제한 사항:

  • .NET 프로젝트에서 프로젝트 폴더에 복사하여 붙여넣은 리소스 파일은 앱이 이미 빌드된 경우 F5에 인덱싱되지 않습니다. 이를 해결하려면 앱을 다시 빌드합니다. 자세한 내용은 GitHub의 문제 1503 참조하십시오.

자세한 내용은 MRT Core로 리소스 관리를 참조하세요.

알림

패키지된(외부 위치로 패키지된 앱 포함) 및 패키지되지 않은 앱의 개발자는 이제 Windows 알림을 보낼 수 있습니다.

새 기능:

  • 패키지된 앱 및 패키지되지 않은 앱에 대한 앱 알림 지원
    • 개발자는 로컬 또는 자체 클라우드 서비스에서 알림 메시지라고도 하는 앱 알림을 보낼 수 있습니다. 앱 알림 개요 참조.
  • 패키지 및 포장 해제된 앱에 대한 푸시 알림을 지원합니다.
    • 개발자는 자체 클라우드 서비스에서 원시 알림 그리고 앱 알림을 보낼 수 있습니다. 푸시 알림 개요 참조.

알려진 제한 사항:

  • 관리자 권한 앱에서 알림을 보내는 것은 지원되지 않습니다. PushNotificationManager::IsSupported() 는 상승 모드에 대한 검사 수행하지 않습니다.

Windowing

USER32.dll에 구현된 기능에 대한 보다 쉬운 프로그래밍 액세스를 위해( Windows 및 메시지참조), 이 릴리스는 그 기능을 AppWindow 자체에서 더 많이 제공합니다.

새 기능:

  • 기존 창이 있는 앱은 ShowWindow(SW_SHOWDEFAULT)과(와) 동등한 AppWindow.ShowOnceWithRequestedStartupState을(를) 호출하여 창 표시 방법을 보다 잘 제어할 수 있습니다.
  • 앱은 호출 시 창을 활성화할지 여부를 지정하면서 창을 표시, 최소화 또는 복원할 수 있습니다.
  • 이제 앱은 특정 클라이언트 영역 크기를 얻기 위해 비 클라이언트 영역 크기를 계산할 필요 없이 Win32 좌표에서 창의 클라이언트 영역 크기에 대한 특정 차원을 결정할 수 있습니다.
  • 추가 WinRT API는 SetWindPos의 hWndInsertAfter 기능을 기반으로 Windows의 z-order 관리를 지원합니다.
  • AppWindowTitleBar.ExtendsContentIntoTitleBar 로 맞춤형 제목 표시줄을 그리는 앱은 PreferredTitleBarHeight 옵션을 설정할 수 있습니다. 이제 표준 높이 제목 표시줄 또는 대화형 콘텐츠를 위한 더 많은 공간을 제공하는 키가 큰 제목 표시줄 중에서 선택할 수 있습니다. 키가 큰 타이틀 바를 사용하는 시기에 대한 조언은 유창한 디자인 가이드라인의 타이틀 바를 참조하십시오.

수정된 문제:

  • 전체 화면 발표자가 처음 호출되면 이제 창이 전체 화면에 올바르게 맞습니다. 자세한 내용은 GitHub의 문제 1853 참조하십시오.
  • 만든 AppWindow::GetFromWindowId Windows에는 OverlappedPresenter 기본 발표자가 있지만 다른 API에서 들어오는 창 스타일에 대한 변경 내용에는 제한이 없습니다. AppWindow::Create를 사용하여 만든 Windows에는 처음부터 기본 발표자 가드레일이 있습니다. 자세한 내용은 GitHub의 문제 2049 참조하십시오.
  • API를 OverlappedPresenter.SetBorderAndTitlebar 사용하여 캡션 단추와 테두리를 숨기면 최대화될 때 1px 위쪽 테두리가 생성됩니다. 이 문제가 해결되었습니다. 자세한 내용은 GitHub의 문제 1693 참조하십시오.

알려진 제한 사항:

  • AppWindowTitlebar API를 사용하여 표준 제목 표시줄의 색을 사용자 지정하는 경우 아이콘과 텍스트가 표준 제목 표시줄에 비해 잘못 정렬됩니다. 자세한 내용은 GitHub 문제 2459을 참조하세요.

  • GitHub 문제 2049(위에서 본)를 해결할 때 다음 버그를 소개했습니다. GetFromWindowId에서 검색한 AppWindowPresentAppWindow에 적용한 다음 해당 Present가 USER32 API 호출을 통해 추적 중인 창 스타일을 변경한 다음 기본 Present를 다시 적용하여 창의 이전 상태로 되돌리려고 하면 제목 표시줄이 없는 창이 됩니다. 앱에서 발표자를 사용하고 기본이 아닌 발표자가 적용될 때 창 스타일을 변경하기 위해 USER32 호출을 사용하는 경우 이 버그가 처리될 때까지 올바른 창 동작을 보장하기 위한 해결 방법을 추가해야 할 수 있습니다. 이 문제를 해결하는 방법에 대한 템플릿으로 다음 코드 조각을 사용할 수 있습니다.

    AppWindow m_appWindow;
    OverlappedPresenter m_defaultPresenter;
    
    private void EnterFullScreen_Click(object sender, RoutedEventArgs e)
    {
        // Capture the default presenter.
        m_defaultPresenter = m_appWindow.Presenter as OverlappedPresenter;
    
        // Opt in the default overlapped presenter so it can control various aspects of the AppWindow.
        m_defaultPresenter.IsAlwaysOnTop = m_defaultPresenter.IsAlwaysOnTop;
        m_defaultPresenter.IsResizable = m_defaultPresenter.IsResizable;
        m_defaultPresenter.IsMinimizable = m_defaultPresenter.IsMinimizable;
        m_defaultPresenter.IsMaximizable = m_defaultPresenter.IsMaximizable;
        m_defaultPresenter.SetBorderAndTitleBar(m_defaultPresenter.HasBorder, m_defaultPresenter.HasTitleBar);
    
        m_appWindow.SetPresenter(AppWindowPresenterKind.FullScreen);
    }
    
    private void ExitFullScreen_Click(object sender, RoutedEventArgs e)
    {
        m_appWindow.SetPresenter(AppWindowPresenterKind.Default);
    }
    

C#/WinRT

이제 WinUI 사용자 지정 컨트롤을 포함한 C# Windows 런타임 구성 요소가 지원됩니다. 이렇게 하면 구성 요소 작성자가 C#작성 런타임 구성 요소를 WinRT 호환 언어(예: C++/WinRT)에 배포할 수 있습니다. 연습 - WinUI 3 컨트롤을 사용하여 C# 구성 요소를 만들고 Windows 앱 SDK GitHub 의 샘플을 사용하는 C++/WinRT 앱에서 사용하여 시작을 참조하세요 .

기타 제한 사항 및 알려진 문제

  • WebView2(예: Microsoft.Identity.Client)에 의존하는 패키지를 참조하는 앱은 빌드에 실패합니다. 이는 빌드 시 충돌하는 이진 파일로 인해 발생합니다. 자세한 내용은 Github의 문제 2492 을 참조하세요.
  • WinAppSDK C# 클래스 라이브러리 프로젝트와 함께 dotnet build 사용하면 "Microsoft.Build.Packaging.Pri.Tasks.ExpandPriContent 작업을 로드할 수 없습니다."라는 빌드 오류가 표시될 수 있습니다. 프로젝트 파일에 설정된 <EnableMsixTooling>true</EnableMsixTooling> 이 문제를 해결하려면
  • 기본 WinAppSDK 템플릿은 MaxVersionTested="10.0.19041.0"이면 "10.0.22000.0"이어야 합니다. 일부 기능( 특히 UnlockedDEHs)을 완전히 지원하려면 프로젝트 파일에서 MaxVersionTested를 "10.0.22000.0"으로 업데이트합니다.