次の方法で共有


Windows App SDK 1.1 の安定チャネル リリース ノート

安定チャネルは、運用環境のアプリで使用するためにサポートされている Windows アプリ SDK のリリースを提供します。 Windows App SDK の安定したリリースを使用するアプリは、Microsoft Store にも公開できます。

重要なリンク:

最新の安定チャネル リリース:

Windows App SDK 用のダウンロード

Windows アプリ SDK Visual Studio 拡張機能(VSIX)は、現在は個別のダウンロードとして配布されていません。 それらは、Visual Studio内のVisual Studio Marketplaceで利用可能です。

バージョン 1.1

Windows App SDK の安定したチャネルの 1.1.x 系列の最新リリースは、バージョン 1.1.5 です。 1.1.x では、すべての安定したチャネル機能がサポートされます (Windows App SDK リリース チャネルのリリース チャネル セクション 機能」を参照してください)。

バージョン 1.1.5

これは、1.1 リリースの重要なバグ修正を含む Windows App SDK のサービス リリースです。

バグ修正 (1.1.5)

  • マイカが有効になっているとアクリルが機能しない問題を修正しました。 詳細については、GitHub 問題 7200 を参照してください。
  • WindowsAppRuntime インストーラーに依存するアプリ (パッケージ化されていないアプリなど) が Windows 10 ARM64 コンピューターで実行できない問題を修正しました。 詳細については、GitHub 問題 2564 を参照してください。

バージョン 1.1.4

これは、1.1 リリースの重要なバグ修正を含む Windows App 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 を参照してください。
  • サイドロード時にパッケージの自動更新を有効にするようにアプリ プロジェクトが構成されている場合に Visual Studio 17.3 でビルド エラーが発生する問題を修正しました (.appinstaller など)。 詳細については、問題 2773参照してください。
  • ストアで配布されるパッケージアプリが、すでにメインパッケージとシングルトンパッケージがインストールされている状況で、`DeploymentManager::GetStatus` が Package Install Needed を返すために `Initialize`(Push などに必要)を冗長に呼び出す問題を修正しました。 これにより、アプリの起動時にパフォーマンスが低下しました。
  • クリーンアップ イベントを開くことができない場合に無視されることを意図した場合に、単一インスタンス アプリで例外が発生する問題を修正しました。 詳細については、GitHub の PR を参照してください。

バージョン 1.1.3

これは、1.1 リリースの重要なバグ修正を含む Windows App SDK のサービス リリースです。

バグ修正 (1.1.3)

  • アプリの最初のページに ProgressBar、ProgressRing、PipsPager、PersonPicture、または Expander コントロールを含めると XAML がクラッシュする関連する一連の問題を修正しました。 詳細については、GitHub 問題 7164 を参照してください。
  • x64 インストーラーが Windows App SDK ランタイムのインストールに失敗する問題を修正しました。 詳細については、GitHub 問題 2713 を参照してください。
  • より高いバージョンのランタイムがインストールされている場合に WindowsAppRuntime のインストールが失敗する問題を修正しました。 詳細については、GitHub ディスカッション 2708 を参照してください。

バージョン 1.1.2

これは、1.1 リリースの重要なバグ修正を含む Windows App SDK のサービス リリースです。

バグ修正 (1.1.2)

  • ダイアログが開いている間にウィンドウを閉じると XAML がクラッシュする問題を修正しました。 詳細については、GitHub 問題 1032 を参照してください。
  • StyleCop の警告を防ぐために、C# ファイルに <auto-generated> タグを追加しました。 詳細については、GitHub 問題 4526 を参照してください。
  • 一致するフレームワーク パッケージがインストールされていない場合に MddBootstrapInitialize を呼び出すと、アクセス違反エラーとクラッシュが発生する問題を修正しました。 詳細については、GitHub 問題 2592 を参照してください。
  • Visual Studio で C# WinUI 3 項目テンプレートが見つからない問題を修正しました。 詳細については、GitHub 問題 7148 を参照してください。
  • システム ユーザーとして実行すると WindowsAppRuntime インストーラーが失敗する問題を修正しました。 詳細については、GitHub 問題 2546 を参照してください。

バージョン 1.1.1

これは、1.1 リリースの重要なバグ修正を含む Windows App SDK のサービス リリースです。

バグ修正 (1.1.1)

  • ドラッグ アンド ドロップ操作中にアプリがクラッシュすることがある問題を修正しました。 詳細については、GitHub 問題 7002 を参照してください。
  • AppWindowPresenterKind を FullScreen から Default に切り替えるとタイトル バーが消える問題を修正しました。
  • ApiInformation.IsPropertyPresentApiInformation.IsMethodPresent などのブートストラップ API によって、パッケージ化されていないアプリでハンドルされない例外が発生する問題を修正しました。 詳細については、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 にはバージョン 1.6 以上 WinRT.Runtime.dll 必要です" のようなエラーが表示

アプリのライフサイクルと再起動

アプリは、既存の RegisterApplicationRestart API から特定の引数と状態を構築して明示的な再起動を開始し、OS に登録して更新、ハング、再起動のシナリオで再起動できるようになりました。

新機能:

  • パッケージ化されたデスクトップ アプリまたはパッケージ化されていないデスクトップ アプリは、コマンドで終了および再起動でき、AppInstance.Restart() API を使用して、再起動されたインスタンスの任意のコマンド ライン文字列にアクセスできます。
    • これは、UWP RequestRestartAsync() API のリフトアンド同期バージョンであり、引数を使用して再起動を有効にし、再起動が失敗した場合に AppRestartFailureReason を返します。
    • 使用方法とリファレンス情報については、GitHub の Restart API ドキュメントを参照してください。

WinUI 3

WinUI 3 は、Windows App SDK のネイティブ ユーザー エクスペリエンス (UX) フレームワークです。 このリリースには、WinAppSDK 1.0 の新機能と、1.0 および 1.1 プレビュー リリースからのいくつかの安定性の向上が含まれています。

新機能:

  • マイカと背景アクリルは、WinUI 3 アプリケーションで利用できるようになりました。
    • これらの資料の詳細については、Windows 11の 資料を参照してください。 C++ アプリケーションで Mica を適用するためのサンプル コードについては、 Windows 11 用デスクトップ アプリとGitHub の C# アプリケーションで WinUI 3 ギャラリーの一部として Mica またはアクリル素材を適用する方法に関するページを参照してください。
  • 1.0.1 で最初に導入されたのは、WinUI 3 アプリケーションで同じスレッド に複数のウィンドウ 作成を安定させ、有効にしました。 詳細については 問題 5918 を参照してください。

バグを修正しました:

  • ウィンドウが 2 つの画面で均等に分割されるとアプリがクラッシュする 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 App Runtime インストーラー (WindowsAppRuntimeInstall.exe) を実行するには、サイドローディングを有効にする必要があります。 詳細については、GitHub 問題 2469 を参照してください。
  • Visual Studio プロジェクト メニューを使用して MSIX パッケージを作成すると、一部のシナリオで Visual Studio がクラッシュする可能性があります。 この問題は、Visual Studio バージョン 17.3 Preview 2 で修正され、17.2 に提供されます。 この問題が発生した場合は、コマンド ラインから MSIX を生成するか、パッケージ化されていないプロジェクトに切り替えるか、Windows App SDK 1.0 に戻すことで回避できます。
  • MSIX でパッケージ化された自己完結型アプリケーションは、1809 ではサポートされていないため、起動時にアプリがクラッシュします。

標高

アプリは昇格された特権で実行できるようになりました。

既知の制限事項:

環境変数マネージャー

環境変数マネージャーは、Windows App SDK 1.1 で導入された新しい API です。 環境変数マネージャーを使用すると、開発者は、1 つの API サーフェスからプロセス、ユーザー、およびマシン スコープ内の環境変数にアクセスし、変更できます。

パッケージ化されたアプリケーションから環境変数マネージャーを使用すると、すべての環境変数操作が記録されます。 パッケージが削除されると、すべての環境変数操作が元に戻されます。

新機能:

  • プロセス、ユーザー、マシンのスコープで環境変数を取得して設定します。
  • 環境変数マネージャーを使用するパッケージが削除されると、自動環境変数が元に戻ります。
  • PATH および PATHEXT 用の特定の API が含まれています。

既知の制限事項:

  • Windows 11 でのみ使用できます

MRTコア

MRT Core は、Windows App SDK の一部として配布される最新の Windows Resource Management System の合理化されたバージョンです。

修正された問題:

  • .NET SDK 6.0.300 で、VS UI を使用してリソース ファイルが追加されたときにリソースのインデックスが既定で作成されない問題が修正されました。 以前の .NET SDK バージョンを使用している場合は、1.0 のリリース ノートに記載されている回避策を引き続き使用してください。 詳細については、GitHub 問題 1786 を参照してください。
  • Visual Studio 2022 17.2 で、パッケージ化されていない C++ WinUI 3 アプリでリソース URI が正しくビルドされない問題が修正されました。 以前のバージョンの Visual Studio を使用している場合は、この修正プログラムを受け取るために Visual Studio を 17.2 に更新してください。

既知の制限事項:

  • .NET プロジェクトでは、アプリが既にビルドされている場合、プロジェクト フォルダーに貼り付けたリソース ファイルのインデックスは F5 に作成されません。 回避策として、アプリをリビルドします。 詳細については、GitHub 問題 1503 を参照してください。

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

通知

パッケージ化されたアプリ (外部の場所でパッケージ化されたアプリを含む) およびパッケージ化されていないアプリの開発者は、Windows 通知を送信できるようになりました。

新機能:

  • パッケージ化されたアプリとパッケージ化されていないアプリのアプリ通知のサポート。
    • 開発者は、アプリ通知 (トースト通知とも呼ばれます) をローカルまたは独自のクラウド サービスから送信できます。 アプリ通知 概要を参照してください。
  • パッケージ化されたアプリとパッケージ化されていないアプリのプッシュ通知のサポート。
    • 開発者は、独自のクラウド サービスから生の通知とアプリ通知を送信できます。 プッシュ通知 概要を参照してください。

既知の制限事項:

  • 管理者特権アプリからの通知の送信はサポートされていません。 PushNotificationManager::IsSupported() は、昇格モードのチェックを実行しません。

ウィンドウ化

このリリースでは、USER32.dll で実装されている機能へのプログラミング アクセスを容易にするため、(Windows とメッセージのを参照)、その機能の多くを 自体で提供します。

新機能:

  • 既存のウィンドウを持つアプリは、AppWindow.ShowOnceWithRequestedStartupStateを呼び出すことによって、ウィンドウの表示方法をより詳細に制御できます。これは、ShowWindow(SW_SHOWDEFAULT)と同等です。
  • アプリは、呼び出し時にウィンドウをアクティブ化するかどうかを指定しながら、ウィンドウの表示、最小化、または復元を行うことができます。
  • アプリは、特定のクライアント領域サイズを取得するためにクライアント領域以外のサイズを計算する必要なく、Win32 座標でウィンドウのクライアント領域サイズの特定のディメンションを決定できるようになりました。
  • 追加の WinRT API は、 SetWindowPos の hWndInsertAfter 機能に基づくウィンドウの z オーダー管理をサポートするために使用できます。
  • AppWindowTitleBar.ExtendsContentIntoTitleBar を使用してカスタム タイトル バーを描画するアプリでは、PreferredTitleBarHeight オプションを設定できます。 標準の高さのタイトル バーか、対話型コンテンツのためのより多くのスペースを提供する背の高いタイトル バーのどちらかを選択できるようになりました。 高さのあるタイトル バーを使用する場合は、Fluent デザイン ガイドラインの タイトルバー を参照してください。

修正された問題:

  • 全画面表示の発表者が初めて呼び出されたときに、ウィンドウが画面全体に正しく収まるようになりました。 詳細については、GitHub 問題 1853 を参照してください。
  • AppWindow::GetFromWindowId を使用して作成された Windows には、既定の発表者として OverlappedPresenter がありますが、他の API からのウィンドウ スタイルの変更に関する制限はありません。 AppWindow::Create で作成された Windows では、最初から既定の発表者ガードレールが配置されます。 詳細については、GitHub 問題 2049 を参照してください。
  • OverlappedPresenter.SetBorderAndTitlebar API を使用してキャプション ボタンと罫線を非表示にすると、最大化されると 1px の上罫線になります。 これは解決されました。 詳細については、GitHub 問題 1693 を参照してください。

既知の制限事項:

  • AppWindowTitlebar API を使用して標準タイトル バーの色をカスタマイズすると、アイコンとテキストが標準のタイトル バーと比較してずれます。 詳細については、GitHub 問題 2459を参照してください。

  • GitHub 問題 2049 (上図) を解決するときに、次のバグが導入されました。GetFromWindowIdから取得した AppWindowAppWindowPresenter を適用した場合は、USER32 API を呼び出して、その発表者によって追跡されているウィンドウ スタイルを変更します。 次に、既定の発表者を再適用して、ウィンドウの以前の状態に戻そうとします。 結果は、タイトル バーのないウィンドウになります。 アプリ内の発表者に依存し、既定以外の発表者が適用された時点でウィンドウ スタイルを変更するために 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 App 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" に更新します。