Windows App SDK の実験的チャネル リリース ノート

重要

実験的チャネルは、運用環境での使用ではサポートされていません。また、実験的リリースを使用するアプリを Microsoft Store に公開することはできません。

実験的チャネルでは、開発の初期段階にある実験的チャネル機能を含む Windows App SDK のリリースが提供されます。 実験的機能の API には、Experimental 属性があります。 コードで実験的 API を呼び出した場合は、ビルド時の警告が表示されます。 実験的チャネル内のすべての API は、将来のリリースで重要な変更が加えられる可能性がありますが、特に実験的 API が変更されます。 実験的な機能は、次期リリースから削除される場合や、リリースされない場合があります。

重要なリンク:

実験的チャネル リリース:

バージョン 1.5 実験 (1.5.0-experimental2)

これは、実験的チャネルの最新リリースです。 ダウンロードするには、WinAppSDK NuGet のバージョンを 1.5.240124002-experimental2 に再ターゲットします。

バグ修正

このリリースには、次のバグ修正が含まれています。

  • カスタムの NavigationViewItem を使用していると起動時にアプリがクラッシュする問題を修正しました。 詳細については、GitHub の問題 #8814 を参照してください。
  • 省略記号ボタンで誤ってエラーが生成される NavigationView の問題を修正しました。 詳細については、GitHub の問題 #8380 を参照してください。
  • マルチウィンドウ アプリで SystemBackdrop が正しくレンダリングされない問題を修正しました。 詳細については、GitHub の問題 #8423 を参照してください。
  • ObservableCollection の先頭に挿入すると生じる重複の問題を修正しました。 詳細については、GitHub の問題 #8370 を参照してください。

新しい API

1.5-experimental2 には、次の新しい API が含まれています。 これらの API は実験段階ではありませんが、WinAppSDK の安定した製品版にはまだ含まれていません。

Microsoft.Graphics.DirectX
 
    DirectXPixelFormat
        A4B4G4R4
Microsoft.UI.Xaml
 
    DebugSettings
        LayoutCycleDebugBreakLevel
        LayoutCycleTracingLevel
 
    LayoutCycleDebugBreakLevel
    LayoutCycleTracingLevel
Microsoft.UI.Xaml.Automation.Peers
 
    SelectorBarItemAutomationPeer
Microsoft.UI.Xaml.Controls
 
    MapControl
    MapControlMapServiceErrorOccurredEventArgs
    MapElement
    MapElementClickEventArgs
    MapElementsLayer
    MapIcon
    MapLayer
    SelectorBar
    SelectorBarItem
    SelectorBarSelectionChangedEventArgs
    WebView2
        EnsureCoreWebView2Async
        EnsureCoreWebView2Async
Microsoft.Windows.Management.Deployment
 
    EnsureReadyOptions
    PackageDeploymentManager
        AddPackageSetAsync
        DeprovisionPackageAsync
        DeprovisionPackageByUriAsync
        DeprovisionPackageSetAsync
        EnsurePackageReadyAsync
        EnsurePackageReadyByUriAsync
        EnsurePackageSetReadyAsync
        IsPackageReady
        IsPackageReadyByUri
        IsPackageRegistrationPending
        IsPackageRegistrationPendingForUser
        ProvisionPackageAsync
        ProvisionPackageByUriAsync
        ProvisionPackageSetAsync
        RegisterPackageAsync
        RegisterPackageByUriAsync
        RegisterPackageSetAsync
        RemovePackageByUriAsync
        RepairPackageAsync
        RepairPackageByUriAsync
        RepairPackageSetAsync
        ResetPackageAsync
        ResetPackageByUriAsync
        ResetPackageSetAsync
        StagePackageAsync
        StagePackageByUriAsync
        StagePackageSetAsync
 
    PackageDeploymentProgress
    PackageDeploymentResult
        Error
        ErrorText
 
    PackageSet
        Items
        PackageUri
 
    PackageVolume
        FindPackageVolumeByName
        FindPackageVolumeByPath
        FindPackageVolumes
        IsRepairNeeded
        Repair
 
    ProvisionPackageOptions
    RegisterPackageOptions
        DependencyPackageFamilyNames
 
    RemovePackageOptions
        FailIfNotFound

その他の実験的 API

このリリースには、次の新しい実験的 API と変更された実験的 API が含まれています。

Microsoft.UI.Xaml
 
    Application
        DispatcherShutdownMode
 
    DispatcherShutdownMode
    XamlIsland
        SystemBackdrop
Microsoft.UI.Xaml.Hosting
 
    WindowsXamlManager
        IsXamlRunningOnCurrentThread
        XamlShutdownCompletedOnThread
 
    XamlShutdownCompletedOnThreadEventArgs
Microsoft.Windows.System.Workloads
 
    IWorkloadHandler
    Workload
    WorkloadManager
    WorkloadProgress
    WorkloadProgressStatus
    WorkloadResult
    WorkloadsContract
    WorkloadStatus

バージョン 1.5 実験 (1.5.0-experimental1)

これは、実験的チャネルの最新リリースです。 ダウンロードするには、WinAppSDK NuGet のバージョンを 1.5.231202003-experimental1 に再ターゲットします。

新しい API

1.5-experimental1 には、次の新しい API が含まれています。 これらの API は実験段階ではありませんが、WinAppSDK の安定した製品版にはまだ含まれていません。

Microsoft.Windows.Widgets.Feeds.Providers
    CustomQueryParametersRequestedArgs
    CustomQueryParametersUpdateOptions
    FeedDisabledArgs
    FeedEnabledArgs
    FeedManager
    FeedProviderDisabledArgs
    FeedProviderEnabledArgs
    FeedProviderInfo
    IFeedManager
    IFeedProvider

その他の実験的 API

このリリースには、次の新しい実験的 API と変更された実験的 API が含まれています。

Microsoft.UI.Content
 
    ContentIsland
        ConnectionInfo
        ConnectRemoteEndpoint
        IsRemoteEndpointConnected
 
    ContentIslandEnvironment
        CurrentOrientation
        DisplayScale
        NativeOrientation
        ThemeChanged
 
    ContentSiteEnvironment
        CurrentOrientation
        DisplayScale
        NativeOrientation
        NotifyThemeChanged
 
    DesktopChildSiteBridge
        AcceptRemoteEndpoint
        ConnectionInfo
        IsRemoteEndpointConnected
        RemoteEndpointConnecting
        RemoteEndpointDisconnected
        RemoteEndpointRequestedStateChanged
 
    EndpointConnectionEventArgs
    EndpointRequestedStateChangedEventArgs
    IContentIslandEndpointConnectionPrivate
    IContentSiteBridgeEndpointConnectionPrivate
    ProcessStarter
    SystemVisualSiteBridge
        IsClosed
Microsoft.UI.Input
 
    FocusNavigationReason
    FocusNavigationRequest
    FocusNavigationRequestEventArgs
    FocusNavigationResult
    InputFocusController
        DepartFocus
        NavigateFocusRequested
 
    InputFocusNavigationHost
Microsoft.UI.Xaml
 
    DebugSettings
        LayoutCycleDebugBreaks
        LayoutCycleTracing
 
    LayoutCycleDebugBreakLevel
    LayoutCycleTracingLevel
    XamlIsland
Microsoft.UI.Xaml.Controls
 
    SelectionModel
        SelectAllFlat
Microsoft.UI.Xaml.Core.Direct
 
    XamlPropertyIndex
        FlyoutBase_SystemBackdrop
        Popup_SystemBackdrop
Microsoft.Windows.Management.Deployment
 
    AddPackageOptions
    AddPackageSetOptions
    DeploymentPriority
    DeploymentProcessingModel
    EnsureIsReadyOptions
    FindPackageSetOptions
    PackageDeploymentContract
    PackageDeploymentManager
    PackageDeploymentProgress
    PackageDeploymentProgressStatus
    PackageDeploymentResult
    PackageDeploymentStatus
    PackageRuntimeManager
    PackageSet
    PackageSetItem
    PackageSetItemRuntimeDisposition
    PackageSetManager
    PackageSetRuntimeDisposition
    PackageVolume
    PackageVolumeManager
    PackageVolumeStatus
    RegisterPackageOptions
    RemovePackageOptions
    StagePackageOptions
    StubPackageOption

バージョン 1.4 実験 (1.4.0-experimental1)

これは、実験的チャネルの最新リリースです。 ダウンロードするには、WinAppSDK NuGet のバージョンを 1.4.230518007-experimental1 に再ターゲットします。

バグ修正

このリリースには、次のようなその他の修正が含まれています。

  • 新しい WinUI デスクトップ アプリケーションでデバッグ設定のフレーム レート カウンターを有効にするとアクセス違反が発生する問題を修正しました。 詳細については、GitHub の issue 2835 を参照してください。
  • WebView2 Web ページでタッチパッドの水平スクロールが機能しない問題を修正しました。 詳細については、GitHub の issue 7772 を参照してください。

その他の実験的 API

このリリースには、次の新しい実験的 API と変更された実験的 API が含まれています。

Microsoft.UI

   IClosableNotifier
Microsoft.UI.Composition.SystemBackdrops

   DesktopAcrylicController
       Closed
       FrameworkClosed
       Kind

   DesktopAcrylicKind
   MicaController
       Closed
       FrameworkClosed
Microsoft.UI.Content

   ContentAppWindowBridge
       SettingChanged

   ContentEnvironmentSettingChangedEventArgs
   ContentExternalBackdropLink
   ContentExternalOutputLink
       ExternalOutputBorderMode

   ContentIsland
       FrameworkClosed

   ContentIslandWindow
       SettingChanged

   ContentSite
       FrameworkClosed

   ContentSiteWindow
       NotifySettingChanged
       SettingChanged

   CoreWindowTopLevelWindowBridge
       SettingChanged

   DesktopSiteBridge
       Closed
       FrameworkClosed

   IContentWindow
       SettingChanged

   SystemVisualSiteBridge
       Closed
       FrameworkClosed
Microsoft.UI.Input

   InputLayoutPolicy
   InputNonClientPointerSource
       ConfigurationChanged
       GetForWindowId

   NonClientRegionConfigurationChangedEventArgs
Microsoft.UI.System

   ThemeSettings
Microsoft.UI.Windowing

   DisplayArea
       GetMetricsFromWindowId
Microsoft.UI.Xaml

   XamlRoot
       ContentWindow
Microsoft.UI.Xaml.Controls

   ItemContainer
       Child
       ChildProperty

   ItemContainerMultiSelectMode
       Extended

   ItemsView
       Animator
       AnimatorProperty

   MenuFlyoutPresenter
       SystemBackdrop
       SystemBackdropProperty

   RiverFlowLayout
       InvalidateItemsInfo
       RequestedRangeCount
       RequestedRangeStartIndex

   RiverFlowLayoutElementAnimator
Microsoft.UI.Xaml.Controls.Primitives

   CommandBarFlyoutCommandBar
       SystemBackdrop
       SystemBackdropProperty
Microsoft.UI.Xaml.Input

   AccessKeyManager
       EnterDisplayMode

バージョン 1.3 実験 (1.3.0-experimental1)

これは、実験的チャネルの最新リリースです。 ダウンロードするには、WinAppSDK NuGet のバージョンを 1.3.230202101-experimental1 に再ターゲットします。

XAML Backdrop API

XAML ウィンドウに組み込まれたプロパティにより、マイカと背景アクリルの背景が WinUI 3 アプリで使いやすくなりました。 Window.SystemBackdrop プロパティの詳しい情報は、GitHub の Xaml 背景 API 仕様 を参照してください。

このリリースのノートでは、次のようにコードビハインドでのみ背景を設定できます。 マークアップで <Window.SystemBackdrop> を設定すると、コンパイル エラーが発生します。 さらに、Xaml 背景 API には現在、開発中の「試験段階」タグがありません。

public MainWindow()
{
    this.InitializeComponent();

    this.SystemBackdrop = new MicaBackdrop();
}

Window.AppWindow

数行の定型コードを置き換えて、Window.AppWindow を介して [ウィンドウ] から直接 AppWindow API を使用できるようになりました。 その他の背景と使用に関する情報については、「GitHub の Window.AppWindow API 仕様」を参照してださい。

WinAppSDK 全体の新機能

  • ApplicationModel.DynamicDependency: 非推奨の MddGetGenerationId を置き換える PackageDependency.PackageGraphRevisionId
  • Environment Manager: Environment Manager の変更をアプリケーションで追跡できるかどうかを通知する EnvironmentManager.AreChangesTracked。 詳細については、GitHub の「環境マネージャー API 仕様」を参照してください。
  • MRT Core: 新しいイベント、Application.ResourceManagerInitializing はアプリが独自の IResourceManager インターフェイスの実装を提供し、WinUI がリソース URI の解決に使用する ResourceManager にアクセスできるようにします。
  • 最新の実験的な VSIX を使うと、プロジェクト ファイルではなく、Visual Studio のメニューから、パッケージ化されていないアプリとパッケージ アプリの間で変換できるようになりました。
  • 参照された Static/ThemeResource の LOOKUP を解決できないときに、新しいイベント、DebugSettings.XamlResourceReferenceFailed が発生するようになりました。 このイベントは、Static & ThemeResource ルックアップの失敗をより適切にデバッグできるようにするために、フレームワークがそのキーを検索した場所の詳細を示すトレースへのアクセスを提供します。 詳細については、GitHub の issue 497223506073 を参照してください。

バグ修正

  • テキスト ボックスにソフト キーボードが表示されないタッチ入力の問題を修正しました。 詳細については、GitHub の issue 6291 を参照してください。
  • IElementFactory を ItemTemplate として持つ ItemsRepeater が ArgumentException をスローする問題を修正しました。 詳細については、GitHub の issue 4705 を参照してください。

その他の実験的 API

このリリースには、初期の開発段階にあるいくつかの API も含まれています。

以下の一覧では、1.3.0 安定版リリースで出荷する予定のない、この実験的リリースで導入された API について詳しく説明します。

**Microsoft.UI.Content**

    DesktopSiteBridge
        GetInputEnabledToRoot
        GetVisibleToRoot
        InputEnabled
**Microsoft.UI.Dispatching**

    DispatcherQueue
        FrameworkShutdownStarting
**Microsoft.UI.Input**

    InputLightDismissAction
        GetForIsland

    InputNonClientPointerSource
    InputPointerActivationBehavior
    InputPointerSource
        ActivationBehavior

    NonClientRegionCaptionTappedEventArgs
    NonClientRegionHoverEventArgs
    NonClientRegionKind
**Microsoft.UI.Input.DragDrop**

    DragDropManager
    DragDropModifiers
    DragInfo
    DragOperation
    DragUIContentMode
    DragUIOverride
    DropOperationTargetRequestedEventArgs
    IDropOperationTarget
**Microsoft.UI.Xaml.Automation.Peers**

    ItemContainerAutomationPeer
    ItemsViewAutomationPeer
**Microsoft.UI.Xaml.Controls**

    AnnotatedScrollBar
    AnnotatedScrollBarLabel
    AnnotatedScrollBarScrollEventArgs
    AnnotatedScrollBarScrollEventType
    AnnotatedScrollBarScrollOffsetRequestedEventArgs
    AnnotatedScrollBarSubLabelRequestedEventArgs
    AnnotatedScrollBarValueRequestedEventArgs
    ElementFactory
        GetElement
        GetElementCore
        RecycleElement
        RecycleElementCore

    IndexBasedLayoutOrientation
    ItemContainer
    ItemContainerInteractionTrigger
    ItemContainerInvokedEventArgs
    ItemContainerMultiSelectMode
    ItemContainerUserInvokeMode
    ItemContainerUserSelectMode
    ItemsView
    ItemsViewItemInvokedEventArgs
    ItemsViewItemInvokeMode
    ItemsViewSelectionMode
    Layout
        IndexBasedLayoutOrientation

    NonVirtualizingLayout
        IndexBasedLayoutOrientationCore

    RiverFlowLayout
    RiverFlowLayoutItemsInfoRequestedEventArgs
    RiverFlowLayoutItemsJustification
    RiverFlowLayoutItemsStretch
    VirtualizingLayout
        IndexBasedLayoutOrientationCore

    VirtualizingLayoutContext
        VisibleRect
        VisibleRectCore
**Microsoft.Graphics.Display**

    DisplayInformation
        AngularOffsetFromNativeOrientation
        DpiChanged
        OrientationChanged
        RawDpi
        RawPixelsPerViewPixel

    DisplayOrientation
**Microsoft.UI.Xaml.Hosting**

    DesktopWindowXamlSource
        CreateSiteBridge
        SiteBridge
        SystemBackdrop

バージョン 1.2 実験 (1.2.0-experimental2)

これは、実験的チャネルの最新リリースです。 すべての実験的チャンネル機能1.2.0-preview 1 の機能をサポートしています。

ダウンロードするには、WinAppSDK NuGet のバージョンを 1.2.220909.2-experimental2 に再ターゲットします。

修正された問題

今後の Windows Insider Preview ビルドでは、Windows アプリ SDK を使用するアプリケーションの起動に 失敗します。

バージョン 1.2 実験 (1.2.0-experimental1)

これは、実験的チャネルの最新リリースです。 すべての実験的チャネル機能がサポートされています。

ダウンロードするには、WinAppSDK NuGet のバージョンを 1.2.220727.1-experimental1 に再ターゲットします。

入力 & 合成

Windows App SDK 0.8 で初めて導入された Microsoft.UI.Input.Experimental 名前空間と Microsoft.UI.Composition.Experimental 名前空間には、いくつかの実験的なクラスがあります。

このリリースの新機能:

  • InputPointerSource には、新しい静的ファクトリ GetforWindowId があります。

Content

このリリースの新機能として、Microsoft.UI.Content 名前空間の実験的クラスは対話型コンテンツのレポート パーツを提供します。 これらは低レベルのプリミティブであり、エンド ユーザーに対話型エクスペリエンスを提供するためにコンテンツに組み立てることができます。 このコンテンツは、アニメーションを使用した出力の表示、さまざまなターゲットでの入力の処理、アクセシビリティ表明および保証の提供、ホスト状態の変更点の処理という構造を定義します。

注目すべきAPI:

  • ContentIsland - 出力、入力、アクセシビリティをまとめ、対話型コンテンツの要約を提供します。 カスタム ビジュアル ツリーは、これらの API を使用して構築して対話型にコンストラクトすることができます。
  • DesktopChildSiteBridge - HWND ベースの階層に ContentIsland を接続できます。

詳細については、「GitHub のサンプル」を参照してください。

ディスパッチする

DispatcherQueue が再入可能としてディスパッチされるようになりました。 以前は、一度に 1 つのスレッドで 1 つの DispatcherQueueHandler コールバックをアクティブにすることはできませんでした。 ここで、ハンドラーが入れ子になったメッセージ ポンプを開始すると、追加のコールバックが再入可能としてディスパッチされます。 これは、ウィンドウ メッセージと入れ子になったメッセージ ポンプに関する Win32 ビヘイビアーと一致します。

通知

アプリ通知のアプリ表示名とアイコンの登録がサポートされるようになりました。 詳細については、「GitHub の仕様」を参照してください。

WinUI 3

  • WinUI 2.8 リリースでは、コントロールとスタイルが最新の状態になります。
  • 実験的リリースでは、UWP はサポートされなくなりました。

その他の制限事項と既知の問題

  • ABI で破壊的変更が発生したため、Windows アプリ SDK 1.2-experimental1 に更新した後、アプリを再構築する必要があります。
  • WebView2 に依存するパッケージ (Microsoft.Identity.Client など) を参照するアプリはビルドに失敗します。 これは、ビルド時のバイナリの競合が原因です。 詳細については、GitHub の issue 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" に更新します。

バージョン 1.0 実験 (1.0.0-experimental1)

このリリースでは、すべての実験的チャネル機能がサポートされています。

以下のセクションでは、このリリースの新機能と更新された機能、制限事項、既知の問題について説明します。

WinUI 3

このリリースの WinUI 3 では、1.0 の安定した新機能の構築とバグの修正に重点が置かれています。

  • 新機能: スレッドごとにではなく、ウィンドウごとに ContentDialog を表示できます。
  • バグ: このリリースで解決されたすべてのバグの一覧については、GitHub リポジトリを参照してください。
  • サンプル: WinUI 3 のコントロールと機能の動作を確認するには、GitHub から WinUI 3 ギャラリー アプリを複製してビルドするか、Microsoft Store からアプリをダウンロードします。

詳細について、または WinUI を使用した開発を開始するには、次の情報を参照してください。

プッシュ通知 (実験的機能)

このリリースでは、Azure アプリ登録ベースの ID のパッケージ デスクトップ アプリで使用できるプッシュ通知 API が導入されました。 この機能を使用するには、プライベート プレビューサインアップする必要があります。

重要な制限事項:

  • プッシュ通知は、Windows 10 バージョン 2004 (ビルド 19041) 以降のリリースで実行される MSIX パッケージ アプリでのみサポートされます。
  • Microsoft は、プライベート プレビューの期間中、プッシュ通知からアプリを無効にしたり取り消したりする権利を持っています。
  • Microsoft は、プッシュ通知の信頼性や待機時間について保証しません。
  • プライベート プレビュー期間中、プッシュ通知の量は 1 か月あたり 100 万件に制限されます。

詳細については、「プッシュ通知」を参照してください。

ウィンドウ設定

このリリースには、ウィンドウ設定 API の更新プログラムが含まれています。 これらは、AppWindow クラスを中心にした一連の高レベルのウィンドウ設定 API です。これにより、Windows ユーザー エクスペリエンスや他のアプリとうまく統合された使いやすいウィンドウ設定シナリオが可能になります。 これは UWP AppWindow と似ていますが、同じではありません。

重要な制限事項:

  • このリリースの AppWindow は現在、Win32 アプリでのみ使用できます (パッケージと非パッケージの両方)。
  • 現在、Windows App SDK には、UI フレームワーク コンテンツを AppWindow にアタッチするためのメソッドが用意されていません。HWND 相互運用アクセス メソッドを使用するように制限されています。
  • ウィンドウ設定 API は現在、AMD64 用の Windows バージョン 1809 および 1903 で機能しません。

詳細については、「アプリ ウィンドウの管理」を参照してください。

非パッケージ アプリのデプロイ

このリリースでは、ブートストラップ API を含む動的依存関係機能への更新が導入されました。

重要な制限事項:

  • 動的依存関係機能は、パッケージ化されていないアプリでのみサポートされます。
  • 昇格された呼び出し元はサポートされていません。

詳細については、次の記事をご覧ください。

その他の制限事項と既知の問題

  • Any CPU ビルド構成のサポートがない: Windows App SDK はネイティブ コードで記述されているため、Any CPU ビルド構成をサポートしていません。 Visual Studio の WinUI 3 テンプレートでは、アーキテクチャ固有のビルドのみが許可されます。 Any CPU をサポートする既存の .NET アプリケーションまたはコンポーネントに Windows App SDK を追加した場合、目的のアーキテクチャ (x86x64arm64) を指定する必要があります。
  • .NET アプリはビルド 18362 以降をターゲットにする必要がある: TFM は、net6.0-windows10.0.18362 以降に設定する必要があり、パッケージ プロジェクトの <TargetPlatformVersion> は 18362 以降に設定する必要があります。 詳細については、GitHub に関する既知の問題に関するページを参照してください。
  • 1.0 実験を使用する C# アプリでは、次の .NET SDK のいずれかを使用する必要がある:

バージョン 0.8 プレビュー (0.8.0-preview)

このリリースでは、すべての実験的チャネル機能がサポートされています。

以下のセクションでは、このリリースの新機能と更新された機能、制限事項、既知の問題について説明します。

WinUI 3

このリリースでは、WinUI に関する重大度の高いバグ修正とその他の変更 (0.5 サービス リリースで修正されたバグを含む) が導入されました。 完全な一覧については、WinUI 3 - Windows App SDK 0.8 リリース ノートを参照してください。

アプリのライフサイクル (実験的機能)

このリリースでは、アプリのアプリ ライフサイクルの管理に関連する新しい実験的機能が導入されました。

  • すべてのアプリ (パッケージおよび非パッケージ) では、GetActivatedEventArgs を使用できます (ただし、パッケージ アプリでは、プラットフォームにおけるこの実装を既に使用できます)。
  • RegisterForXXXActivation 関数を使用できるのは、非パッケージ アプリのみです。
  • パッケージ デスクトップ アプリでは、アプリ ライフサイクルのインスタンス化を使用できます。

詳細については、「アプリのインスタンス化」と「リッチ アクティベーション」を参照してください。

非パッケージ アプリの展開 (実験的機能)

このリリースでは、パッケージ化されていないアプリの新しい実験的展開機能が導入されています。 非パッケージ アプリは、Windows App SDK ランタイム パッケージに動的に依存できるようになり、既存の MSI またはセットアップ プログラムをアプリの展開に引き続き使用できます。 これは、次の機能を通じて使用できます。

  • Windows App SDK 用のスタンドアロン インストーラー。
  • 動的な依存関係機能を含む MSIX パッケージ バンドル。

詳細については、「外部の場所でパッケージ化されたまたはパッケージ化されていないフレームワーク依存のアプリ向け Windows App SDK 展開ガイド」を参照してください。

DWriteCore

このリリースでは、次の機能が追加されます。

  • テキスト装飾 (テキスト レイアウト API の下線と取り消し線)
  • 縦書きテキスト レイアウト
  • フォント フェイス カーニング API
  • 非パッケージ アプリの実験的サポート

詳細については、「DWriteCore を使用してテキストを表示する」を参照してください。

MRT Core

このリリースでは、次の機能が追加されます。

  • リソースのビルド アクションが自動的に設定されるようになり、プロジェクトを手動で構成する必要性が減りました。
  • 非パッケージ アプリの実験的サポート。

詳細については、「MRT Core を使用してリソースを管理する」を参照してください。

制限事項と既知の問題

  • Any CPU ビルド構成のサポートがない: Windows App SDK はネイティブ コードで記述されているため、Any CPU ビルド構成をサポートしていません。 Visual Studio の WinUI 3 テンプレートでは、アーキテクチャ固有のビルドのみが許可されます。 Any CPU をサポートする既存の .NET アプリケーションまたはコンポーネントに Windows App SDK を追加した場合、目的のアーキテクチャ (x86x64arm64) を指定する必要があります。
  • .NET アプリはビルド 18362 以降をターゲットにする必要がある: TFM は、net6.0-windows10.0.18362 以降に設定する必要があり、パッケージ プロジェクトの <TargetPlatformVersion> は 18362 以降に設定する必要があります。 詳細については、GitHub に関する既知の問題に関するページを参照してください。

サンプル

Windows App SDK サンプルは、このリリースではまだ動作しません。 非パッケージ アプリの展開などの新機能を示すサンプルを含む、新しいサンプルと更新されたサンプルが近日公開予定です。