Windows アプリ SDK 1.1 のプレビュー チャネル リリース ノート

重要

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

プレビュー チャネルには、開発の後期段階のプレビュー チャネル機能を備えた Windows アプリ SDK のリリースが含まれています。 プレビュー リリースには試験段階の機能と API は含まれていませんが、次の安定版リリースの前に破壊的変更が発生する可能性は残っています。

重要なリンク:

最新のプレビュー チャネル リリース ノート

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

バージョン 1.1 プレビュー 3 (1.1.0-preview3)

これは、バージョン 1.1 のプレビュー チャネルの最新リリースです。 すべてのプレビュー チャネル機能がサポートされています (「リリース チャネルで使用できる機能」を参照)。

Windows アプリ SDK 1.0 を使用する既存のアプリで、Nuget パッケージを 1.1.0-preview3 に更新できます (「NuGet パッケージ マネージャーを使用して Visual Studio でパッケージをインストールおよび管理する」「パッケージの更新」 セクションを参照)。 さらに、更新されたランタイムと MSIX については、「最新の Windows アプリ SDK ダウンロード」を参照してください。

Note

C# 開発者の場合は、6.0.202、6.0.104、5.0.407、5.0.213 の .NET SDK バージョン (またはそれ以降) のいずれかが必要です。 .NET SDK バージョンを更新するには、「.NET のダウンロード」を参照するか、Visual Studio の最新バージョンに更新してください。 必要な .NET SDK バージョンがない状態で NuGet パッケージを更新すると、次のようなエラーが表示されます: "このバージョンの WindowsAppSDK には WinRT.Runtime.dll バージョン 1.6 以降が必要です。"

Preview 2 のすべての機能に加えて、次のセクションでは、このリリースの新機能と更新された機能、制限事項、および既知の問題について説明します。

WinUI 3 (1.1.0-preview3)

Mica と Background Acrylic を WinUI 3 アプリケーションで使用できるようになりました。

これらの素材の詳細については、「Windows 11 の素材」を参照してください。 C++ アプリケーションで Mica を適用するためのサンプル コードについては、「Windows 11 のデスクトップ アプリでマイカ素材またはアクリル素材を適用する」を、C# アプリケーションで Mica を適用するためのサンプル コードについては、WinUI コントロール ギャラリーの一部として GitHub を参照してください。

通知 (1.1.0-preview3)

修正された問題:

  • 1.1.0-preview1 と 1.1.0-preview2 では、一部のパッケージ化されていないアプリで、アプリ アイコンが誤って AppData\LocalMicrosoftWindowsAppSDK にコピーされます。 このリリースでは、代わりに AppData\Local\Microsoft\WindowsAppSDK にコピーされます。 アイコンの漏洩を防ぐには、1.1.0-preview3 に更新した後、誤ったパスにあるアプリ アイコンを手動で削除する必要があります。
  • 「ショートカット」によるアプリ通知のアプリアイコンとアプリ表示名の取得がサポートされるようになりました。 このアプリ アイコンは、リソース ファイルで指定されたアイコンよりも優先されます。
  • パッケージ化されていないアプリのプッシュ通知のサポートが復元されました (記載された例外については、「制限事項」を参照してください)。 アプリがプッシュ通知をサポートしているかどうかを確認するために、PushNotificationManager::IsSupported API が導入されました。

制限事項:

  • 管理者特権でパッケージ化されていないアプリの通知はサポートされていません。 PushNotificationManager::IsSupported は、管理者特権モードのチェックを実行しません。 ただし、今後のリリースでこれをサポートするよう取り組んでいます。

MSIX パッケージ作成ツール

MSIX を拡張し、拡張機能カテゴリを使用して新しい機能を追加し、既存の機能を拡張しました。

  • windows.appExecutionAlias
  • windows.customDesktopEventLog
  • windows.dataShortcuts
  • windows.fileTypeAssociation
  • windows.fileTypeAssociation.iconHandler
  • windows.folder
  • windows.shortcut

これらには、Windows App SDK フレームワーク パッケージがインストールされている必要があります。 ランタイムをインストールするには、「最新の Windows アプリ SDK ダウンロード」を参照してください。

環境マネージャー (1.1.0-preview3)

開発者がレジストリ API を直接使用せずに環境変数を追加、削除、および変更できるようにする API セット。

1.1 Preview 1 からの明確化: 環境マネージャーを使用したアプリがアンインストールされたときの環境変数の変更の自動削除は、パッケージ アプリでのみ使用できます。 さらに、環境変数の変更を元に戻すには、Windows アプリ SDK フレームワーク パッケージをインストールする必要があります (「ランタイム用の最新の Windows アプリ SDK ダウンロード」を参照してください)。

その他の既知の制限

1.1 Preview 2 からの回帰:

  • MRT Core API を使用する .NET アプリと、単一プロジェクトの MSIX でデプロイされない WinUI アプリの場合:
    • 既存の項目としてプロジェクトに追加され、以前にそれぞれ PRIResource と Content ItemGroups に自動的に含まれていた RESW ファイルと画像ファイルは、これらの ItemGroup には含まれません。 その結果、これらのリソースは PRI の生成中にインデックスが作成されないため、実行時に使用できなくなります。
      • 回避策: リソースをプロジェクト ファイルに手動で含め、None ItemGroup から削除します。
      • 代替策: 使用可能な場合は、アプリの .NET SDK を 6.0.300 にアップグレードします。 詳細については、「.NET SDK のバージョン要件」を参照してください。
  • 単一プロジェクトの MSIX でデプロイされない .NET アプリの場合:
    • ファイルが Content ItemGroup に 2 回以上追加されると、ビルド エラーが発生します。
      • 回避策: 重複するインクルードを削除するか、プロジェクト ファイルで EnableDefaultContentItems を false に設定します。

どちらのリグレッションも、次の安定版リリースで復元されます。

バージョン 1.1 プレビュー 2 (1.1.0-preview2)

これは、バージョン 1.1 のプレビュー チャネルの 2 番目のリリースです。 すべてのプレビュー チャネル機能がサポートされています (「リリース チャネルで使用できる機能」を参照)。

Windows App SDK 1.0 を使用する既存のアプリでは、Nuget パッケージを 1.1.0-preview2 に更新できます (「NuGet パッケージ マネージャーを使用して Visual Studio でパッケージをインストールおよび管理する」「パッケージの更新」セクションを参照)。 さらに、更新されたランタイムと MSIX については、「最新の Windows アプリ SDK ダウンロード」を参照してください。

Note

C# 開発者の場合は、6.0.202、6.0.104、5.0.407、5.0.213 の .NET SDK バージョン (またはそれ以降) のいずれかが必要です。 .NET SDK バージョンを更新するには、「.NET のダウンロード」を参照するか、Visual Studio の最新バージョンに更新してください。 必要な .NET SDK バージョンがない状態で NuGet パッケージを更新すると、次のようなエラーが表示されます: "このバージョンの WindowsAppSDK には WinRT.Runtime.dll バージョン 1.6 以降が必要です。"

Preview 1 のすべての機能に加えて、次のセクションでは、このリリースの新機能と更新された機能、制限事項、および既知の問題について説明します。

通知 (1.1.0-preview2)

修正された問題:

  • 通知を送信するパッケージ ID のないアプリでは、アイコンがアプリのリソースの一部である場合、通知にアプリ アイコンが表示されるようになりました。 アプリ リソースにアイコンがない場合は、Windows の既定のアプリ アイコンが使用されます。
  • 実行されていない WinUI 3 アプリは、通知を介してバックグラウンドでアクティブ化できるようになりました。

1.1 Preview 1 からの回帰: パッケージ化されていないアプリのプッシュ通知のサポート。 次のリリースで復元される予定です。

既知の制限事項:

  • 自己完結型アプリがプッシュ通知をサポートしているかどうかを確認するために、PushNotificationManager::IsSupported API が導入されました。 ただし、この API はまだ意図したとおりに機能していないため、次のプレビュー リリースで IsSupported API の完全なサポートに注意してください。
  • パッケージ化されていない一部のアプリでは、アプリ アイコンが AppData\LocalMicrosoftWindowsAppSDK に誤ってコピーされます。 次のリリースでは、代わりに AppData\Local\Microsoft\WindowsAppSDK にコピーされます。 アイコンの漏洩を防ぐには、開発者は次のリリースにアップグレードした後、間違ったパスでアプリ アイコンを手動で削除する必要があります。
  • ショートカットによる通知のアプリアイコンとアプリの表示名取得はサポートされていません。 しかし、今後のリリースでサポートする予定です。

展開

新機能:

既知の制限事項:

  • 自己完結型の展開は、Windows 10、1903 以降でのみサポートされます。

ウィンドウ設定

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

新機能:

  • 既存のウィンドウを持つアプリでは、ShowWindow(SW_SHOWDEFAULT) に相当する AppWindow.ShowOnceWithRequestedStartupState を呼び出すことで、ウィンドウの表示方法をより詳細に制御できます。
  • アプリでは、ウィンドウを表示、最小化、または復元し、呼び出し時にウィンドウをアクティブ化するかどうかを指定できます。
  • アプリで、ウィンドウのクライアント領域のサイズを Win32 座標で設定できるようになりました。
  • ウィンドウの z オーダー管理をサポートする API が追加されました。
  • AppWindowTitleBar.ExtendsContentIntoTitleBar を使用してカスタム タイトル バーを描画するアプリでは、PreferredTitleBarHeight オプションを設定できます。 標準の高さのタイトルバー、またはインタラクティブなコンテンツ用のスペースを広く提供する背の高いタイトルバーを選択できます。 縦長のタイトル バーを使用する場合に関するアドバイスについては、「Fluent 設計ガイドライン」の「タイトル バー」を参照してください。

既知の制限事項:

  • 背の高いタイトルバーのサポートは、Windows 11でのみ使用できます。 私たちは、他のカスタム タイトルバー API と共に、このレベルを下げることに取り組んでいます。

WinUI 3 (1.1.0-preview2)

修正された問題:

  • WebView2 SDK を 1020.46 から 1185.39 にアップグレードすると、C/C++ ランタイム (CRT) がインストールされていない場合に、WebView2 を使った C# アプリが起動時にクラッシュする問題を修正しました。
  • 一部の丸い角が、単色のはずがグラデーションで表示される問題を修正しました。 詳細については、GitHub の issue 6076 & issue 6194 を参照してください。
  • 更新されたスタイルが generic.xaml に含まれていない問題を修正しました。
  • ListView の末尾までスクロールするとアプリがクラッシュするレイアウト サイクルの問題を修正しました。 詳細については、GitHub の issue 6218 を参照してください。

パフォーマンス

C# アプリケーションでは、いくつかのパフォーマンスが向上しています。 詳細については、C#/WinRT 1.6.1 リリース ノートを参照してください。

バージョン 1.1 プレビュー 1 (1.0.0-preview1)

これは、バージョン 1.1 のプレビュー チャネルの最初のリリースです。 すべてのプレビュー チャネル機能がサポートされています (「リリース チャネルで使用できる機能」を参照)。

Windows アプリ SDK 1.0 を使用する既存のアプリで、Nuget パッケージを 1.1.0-preview1 に更新できます (「NuGet パッケージ マネージャーを使用して Visual Studio でパッケージをインストールおよび管理する」「パッケージの更新」セクションを参照してください)。 さらに、更新されたランタイムと MSIX については、「最新の Windows アプリ SDK ダウンロード」を参照してください。

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

WinUI 3 (1.1.0-preview1)

既知の問題: ドラッグ アンド ドロップが有効になっている場合、ユーザーは要素をドロップできません。

昇格された (管理者) サポート

Windows App SDK 1.1 Preview 1 を使用すると、アプリ (WinUI 3 を含む) を管理者特権で実行できます。

重要な制限事項:

  • 現在Windows 11 でのみ使用できます。 ただし、今後のリリースでこのサポートのレベルを下げることを検討しています。

既知の問題:

  • WinUI 3 アプリは、ドラッグ アンド ドロップ操作中に要素をドラッグするとクラッシュします。

自己完結型の展開

Windows アプリ SDK 1.1 では、自己完結型のデプロイのサポートが導入されます。 Microsoft の「Windows アプリ SDK デプロイの概要」では、フレームワーク依存型と自己完結型のデプロイの違いと使用の開始方法の詳細について説明しています。

既知の問題:

  • パッケージ化された C++ アプリでは、VCLibs へのフレームワーク参照を削除する自己完結型の .targets ファイルのバグを回避するために、プロジェクト ファイルの下部に以下を追加する必要があります。

    <PropertyGroup>
        <IncludeGetResolvedSDKReferences>true</IncludeGetResolvedSDKReferences>
    </PropertyGroup>
    
    <Target Name="_RemoveFrameworkReferences"
        BeforeTargets="_ConvertItems;_CalculateInputsForGenerateCurrentProjectAppxManifest">
        <ItemGroup>
            <FrameworkSdkReference Remove="@(FrameworkSdkReference)" Condition="'%(FrameworkSdkReference.SDKName)' == 'Microsoft.WindowsAppRuntime.1.1-preview1'" />
        </ItemGroup>
    </Target>
    
  • Windows 10、1903 以降でのみサポートされます。

通知 (1.1.0-preview1)

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

新機能:

  • パッケージ アプリとパッケージ化されていないアプリのアプリ通知をサポートします。 GitHub の詳細
    • 開発者は、ローカルまたは独自のクラウド サービスから、トースト通知とも呼ばれるアプリ通知を送信できます。
  • パッケージ化されたアプリとパッケージ化されていないアプリのプッシュ通知のサポート。 GitHub の詳細
    • 開発者は、独自のクラウド サービスから直接通知またはアプリ通知を送信できます。

制限事項:

  • 自己完結型として公開されているアプリでは、プッシュ通知がサポートされていない場合があります。 次のプレビュー リリースでは、プッシュ通知のサポートを確認するために IsSupported API に注目してください。
  • アプリ通知を送信するパッケージ化されていないアプリは、コンソール アプリケーションでない限り、アプリ通知にアプリ アイコンが表示されません。 パッケージ化されていないコンソール アプリは、ToastNotificationsDemoApp サンプルに示されているパターンに従う必要があります。
  • プッシュ通知をサポートするには、Windows アプリ SDK ランタイムをインストールする必要があります。インストーラーについては、「最新の Windows アプリ SDK ダウンロード」を参照してください。
  • 実行されていない WinUI 3 アプリは、通知を介してバックグラウンドでアクティブ化することはできません。 しかし、今後のリリースでサポートする予定です。

環境マネージャー (1.1.0-preview1)

開発者がレジストリ API を直接使用せずに環境変数を追加、削除、および変更できるようにする API セット。

新機能:

  • 環境マネージャーを使用していたアプリがアンインストールされたときに、環境変数の変更を自動的に削除します。

制限事項:

  • 現在C# アプリでは使用できません。 ただし、今後のリリースでこの機能を C# アプリに導入することを検討しています。

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

  • 1.1.0 Preview 1 で C# を使用している場合は、少なくとも .NET SDK 6.0.201、6.0.103、5.0.212、または 5.0.406 のいずれかの .NET SDK バージョンを使用する必要があります。 .NET SDK をアップグレードするには、最新バージョンの Visual Studio に更新するか、「.NET のダウンロード」を参照してください。