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

安定したチャネルは、実稼働環境Windowsアプリで使用するためにサポートされているアプリ SDK のリリースを提供します。 アプリ SDK の安定したリリースをWindowsアプリは、アプリに発行Microsoft Store。

現在、安定チャネルの次のリリースを使用できます。

既存のアプリを古いバージョンの Windows App SDK から新しいバージョンにアップグレードする場合は、「既存のプロジェクトを Windows App SDKの最新リリースに更新する」を参照してください。

バージョン 1.0

バージョン 1.0 は、Windows App SDK 用の安定したチャネルの最新リリースです。 1.0 では、すべての安定 したチャネル機能がサポートされています

1.0 Stable のダウンロード

注意

App SDK Windows拡張機能 (VSIX) Visual Studioインストール済みの場合は、新しいバージョンをインストールする前にアンインストールします。 方法については、「拡張機能の管理」を参照Visual Studio。

次の表から、1.0 Stable リリースの Visual Studio 拡張機能 (VSIX) と .exe インストーラーをダウンロードできます。 まだインストールしていない場合は、開発者ツール をインストールします

1.0 安定したダウンロード 説明
C# Visual Studio 2022 拡張機能 Windows App SDK Visual Studio 2022 拡張機能を使用して C# アプリをビルドします。
C++ Visual Studio 2022 拡張機能 Windows App SDK Visual Studio 2022 拡張機能を使用して C++ アプリをビルドします。
C# Visual Studio 2019 拡張機能 Windows App SDK Visual Studio 2019 拡張機能を使用して C# アプリをビルドします。
C++ Visual Studio 2019 拡張機能 Windows App SDK Visual Studio 2019 拡張機能を使用して C++ アプリをビルドします。
インストーラー .exe と MSIX パッケージ インストーラーと MSIX Windowsを使用して、アプリでアプリ SDK .exe をデプロイします。

次のセクションでは、1.0 Stable の新機能と更新された機能、制限事項、既知の問題について説明します。

WinUI 3

WinUI 3 は、アプリ SDK 用のネイティブ ユーザー エクスペリエンス (UX) Windowsフレームワークです。 このリリースでは、Windows App SDK 0.8 から複数の新機能を追加し、1.0 Preview リリースからの問題を修正しました。

新機能と更新プログラム:

  • 新しいコントロール (PipsPager、Expander、BreadcrumbBar) を追加し、WinUI 2.6の最新の Windows スタイルを反映するように既存のコントロールを更新しました。
  • WinUI では、"Blank App, Packaged..." を使用して新しいアプリケーションを作成することで、単一プロジェクトの MSIX パッケージ化がサポートされます。 テンプレートを選択します。
  • バージョン 1809 以上で MSIX パッケージを使用しない WinUI 3 アプリWindows展開がサポートされました。 詳細については 、「WinUI 3 のアンパッケージデスクトップ アプリを作成する 」を参照してください。
  • WinUI 3 プロジェクトでは、ターゲット バージョンを [ターゲット] に設定Windows 10 Version 1809。 以前は、バージョン 1903 と同じ低い値にしか設定していけでした。
  • WinUI パッケージ アプリ用のアプリ内ツール バー、ホット リロード、& Live Visual Tree は、Visual Studio 2022 Preview 5 および GA でサポートされています。

重要な制限事項:

  • パッケージ化された WinUI アプリケーションとパッケージ化されていない WinUI アプリケーションの両方に関する既知の問題:

    • C++ Windows ランタイム コンポーネントを参照する C++ アプリでの実行時エラー: 解決するには、次のターゲットを Windows ランタイム コンポーネントの .vcxproj の末尾に追加します。

      <Target Name="GetPriIndexName">
      <PropertyGroup>
          <!-- Winmd library targets use the default root namespace of the project for the App package name -->
          <PriIndexName Condition="'$(RootNamespace)' != ''">$(RootNamespace)</PriIndexName>
          <!-- If RootNamespace is empty fall back to TargetName -->
          <PriIndexName Condition="$(PriIndexName) == ''">$(TargetName)</PriIndexName>
      </PropertyGroup>
      </Target>
      
  • 単一プロジェクト MSIX を使用する WinUI アプリケーションの既知の問題 (空のアプリ、パッケージ 化されたテンプレート):

    • Visual Studio を再起動するまで [パッケージ & 発行] メニュー項目が見つからない: Visual Studio 2019 と Visual Studio 2022 の両方で[空のアプリ]、パッケージ化済み (デスクトップの WinUI 3)) プロジェクト テンプレートを使用して単一プロジェクト MSIX を使用して新しいアプリを作成する場合、プロジェクトを発行するコマンドは、閉じて再び開くまでメニューに表示されませんVisual Studio。
    • 単一プロジェクト MSIX を使用する C# アプリは、"C++ (v14x) ユニバーサル Windows Platform Tools" オプション コンポーネントがインストールされていないとコンパイルされません。 詳細については 、「開発者ツールのインストール 」を参照してください。
    • 参照先の Windows ランタイム コンポーネントで定義された型を使用する単一プロジェクト MSIX を使用するアプリでの実行時エラーの可能性:解決するには、アクティブ化可能なクラス エントリを appxmanifest.xml に手動で追加します。
      • C# アプリケーションで予期されるエラーは、"COMException: クラスが登録されていません (0x80040154 (REGDB_E_CLASSNOTREG)) です。
      • C++/WinRT アプリケーションで予期されるエラーは"winrt::hresult_class_not_registered" です。
  • MSIX パッケージ化されていない WinUI アプリケーション (パッケージ化されていないアプリ) に関する既知の問題:

  • WinUI アプリケーションの パッケージ化とデプロイに関する既知の問題:

    • コマンドは、単一プロジェクト MSIX (空のアプリ、パッケージ 化されたテンプレート) を使用する Package WinUI アプリではサポートされていません。 代わりに、 コマンドを Package & Publish 使用して MSIX パッケージを作成します。
    • コマンドを使用NuGet C# クラス ライブラリから新しいパッケージを作成するには、アクティブな Pack が である必要 Configuration があります Release
    • コマンド Pack は、C++ ではサポートWindowsパッケージを作成するためにランタイム コンポーネントNuGetされていません。

詳細、または WinUI の開発を開始するには、以下を参照してください。

ウィンドウ化

Windows App SDK には、以前の使いやすいアプリを進化させるAppWindowクラスがWindows。UI。WindowManagement.AppWindow プレビュー クラス。Win32、WPF、WinForms など、すべての Windows アプリで使用できます。

新機能

  • AppWindowは、Windows ユーザー エクスペリエンスや他のアプリとうまく統合された使いやすいウィンドウ化シナリオを可能にする高レベルのウィンドウ API です。 アプリのコンテンツのシステム マネージド コンテナーの大きな抽象化を表します。 これはコンテンツがホストされているコンテナーであり、ユーザーがアプリのサイズを変更して画面に移動するときに操作するエンティティを表します。 Win32 に精通している開発者にとって、AppWindow は HWND の大まかい抽象化と見なされます。
  • DisplayArea は HMONITOR の大まかい抽象化を表し、AppWindow と同じ原則に従います。
  • DisplayAreaWatcher を使用すると、開発者は、表示トポロジの変更を観察し、システムで現在定義されている DisplayAreas を列挙できます。

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

入力

これらは、WinUI をサポートし、開発者がより高度な入力操作を実現するための低レベルの API サーフェスを提供する入力 API です。

新機能

  • ポインター API: XAML 入力 API を使用したポインター イベント情報の取得をサポートするPointerPoint、PointerPointProperties、およびPointerEventArgs。
  • InputPointerSource API:レポート ポインター入力に登録されているオブジェクトを表し、XAML の SwapChainPanel API にポインター カーソルと入力イベント処理を提供します。
  • Cursor API:開発者がカーソル ビットマップを変更できます。
  • GestureRecognizer API:開発者は、ポインター情報が与えられたときにドラッグ、ホールド、クリックなどの特定のジェスチャを認識できます。

重要な制限事項

  • すべての PointerPoint静的ファクトリ関数が削除されました:GetCurrentPoint、GetCurrentPointTransformed、GetIntermediatePoints、および GetIntermediatePointsTransformed
  • このWindows App SDK では、ポインター ID を使用した PointerPoint オブジェクトの取得はサポートされていません。 代わりに 、PointerPoint メンバー関数 GetTransformedPoint を使用して、既存の PointerPoint オブジェクトの変換された バージョンを取得 できます。 中間ポイントの場合は 、PointerEventArgs メンバー関数 GetIntermediatePointsGetTransformedIntermediatePoints を使用できます
  • プラットフォーム SDK API サービスを直接 使用Windows。UI。Core.CoreDragOperationは WinUI アプリケーションでは機能しません。
  • PointerPoint プロパティ RawPositionContactRectRaw は、OS の通常の値と同じ予測されていない値を参照していたため、削除されました。 代 わりに、PositionContactRect を使用してください。 ポインター予測は 、Microsoft.UI.Input.PointerPredictor API オブジェクトで処理されます。

アプリのライフサイクル

アプリ ライフサイクル機能の大部分は既に UWP プラットフォームに存在し、デスクトップ アプリの種類 (特にアンパックされたコンソール アプリ、Win32 アプリ、Windows Forms アプリ、WPF アプリ) で使用するために Windows App SDK に取り込まれています。 これらのWindowsのアプリ SDK の実装は、UWP プラットフォーム自体に同等の機能が含まれています。UWP アプリでは使用できません。

重要

UWP アプリで作業している場合は、UWP移行ガイダンスを参照して、アプリをアプリ SDK への移行の詳細Windows確認してください。

UWP 以外のアプリは、MSIX パッケージにパッケージ化することもできます。 これらのアプリでは、Windows app SDK アプリのライフサイクル機能の一部を使用できますが、この機能を使用できるようにするには、マニフェストの手法を使用する必要があります。 たとえば、Windows App SDK registerforxxx アクティベーション api を使用することはできません。その代わりに、マニフェストを使用して充実したアクティベーションを登録する必要があります。

パッケージアプリのすべての制約は、パッケージ化された WinUI アプリにも適用されます。また、以下に説明するように、追加の考慮事項があります。

重要な考慮事項:

  • リッチアクティベーション: GetActivatedEventArgs

    • アプリをアンパッケージ する: 完全に使用できます。
    • パッケージアプリ: 使用可能ですが、これらのアプリはプラットフォームを使用することもでき GetActivatedEventArgs ます。 プラットフォームで Windows が定義されていることに注意してください。applicationmodel. appinstance 、Windows App SDK は、 Windows を定義します。AppLifecycle。 また、UWP アプリでは、やなどのクラスを使用できますが、 ActivatedEventArgs FileActivatedEventArgs LaunchActivatedEventArgs Windows App SDK AppLifecycle 機能を使用するアプリでは、クラスではないインターフェイス (、など) を使用する必要があり IFileActivatedEventArgs ILaunchActivatedEventArgs ます。
    • Winui アプリ: Winui の LaunchActivatedEventArgsが指定されているのに対し、プラットフォームは Windows を返します。 GetActivatedEventArgs IActivatedEventArgsと WindowsAppSDK は、 GetActivatedEventArgs Microsoft. Windows を返します。プラットフォームを表すことができる AppLifecycle AppActivationArguments オブジェクト LaunchActivatedEventArgs
    • 詳細については、「 リッチアクティベーション」を参照してください。
  • リッチアクティベーションの登録/登録解除

    • アプリをアンパッケージ する: 完全に使用できます。
    • パッケージアプリ: 使用不可アプリの msix マニフェストを代わりに使用します。
    • 詳細については、「 リッチアクティベーション」を参照してください。
  • 1つまたは複数のインスタンス化

    • アプリをアンパッケージ する: 完全に使用できます。
    • パッケージアプリ: 完全に使用できます。
    • WinUI アプリ: アプリが他のインスタンスを検出し、アクティブ化をリダイレクトする必要がある場合は、できるだけ早く、ウィンドウを初期化する前に実行する必要があります。これを有効にするには、アプリで DISABLE_XAML_GENERATED_MAIN を定義し、検出とリダイレクトを実行できるカスタム Main (C#) または WinMain (C++) を作成する必要があります。
    • RedirectActivationToAsync は非同期呼び出しであり、アプリが STA で実行されている場合、非同期呼び出しで待機しないでください。 Windows フォームと C# の WinUI アプリでは、必要に応じて Main を async として宣言できます。 C++ WinUI および C# WPF アプリでは、Main を async として宣言することはできません。そのため、STA をブロックしないように、リダイレクト呼び出しを別のスレッドに移動する必要があります。
    • 詳細については、「 アプリのインスタンス化」を参照してください。
  • 電源/状態通知

    • アプリをアンパッケージ する: 完全に使用できます。
    • パッケージアプリ: 完全に使用できます。
    • 詳細については、「 電源管理」を参照してください。

既知の問題:

  • 動詞ハンドラーのコマンドラインテンプレートを設定するときに、ファイルの種類の関連付けによって %1 が %251 に正しくエンコードされないため、アンパッケージの Win32 アプリがクラッシュします。 部分的な回避策として、レジストリ値を手動で %1 に変更することができます。 ターゲットファイルのパスにスペースが含まれている場合でも、エラーが発生しても、そのシナリオに対する回避策はありません。
  • これらの単一/複数インスタンスのバグは、今後のサービス修正プログラムで修正される予定です。
    • X86 用にコンパイルした場合、AppInstance リダイレクトが機能しない
    • キーを登録し、登録を解除して再登録すると、アプリがクラッシュする

DWriteCore

DWriteCore は、 DirectWriteの Windows App SDK による実装です。これは、高品質のテキストレンダリング、解像度に依存しないアウトラインフォント、Unicode テキストとレイアウトの完全なサポートのための DirectX API です。 DWriteCore は、Windows 10 Version 1809 まで Windows のバージョンで実行される DirectWrite の形式です (10.0;ビルド 17763) を使用して、クロスプラットフォームで使用するためのドアを開きます。

機能 DWriteCore には、DirectWrite のすべての機能が含まれていますが、いくつかの例外があります。

重要な制限事項

  • DWriteCore には、次の DirectWrite 機能は含まれていません。
    • セッションごとのフォント
    • エンドユーザー定義文字 (EUDC) フォント
    • フォントストリーミング Api
  • 低レベルのレンダリング API のサポートは部分的です。
  • DWriteCore は Direct2D と相互運用できませんが、 IDWriteGlyphRunAnalysisIDWriteBitmapRenderTargetを使用できます。

詳細については、「 DWriteCore の概要」を参照してください。

MRT Core

mrt.dll Core は、Windows App SDK の一部として配布される最新の Windowsリソース管理システムの合理化されたバージョンです。

重要な制限事項

  • .NET プロジェクトでは、アプリケーションが既にビルドされている場合、プロジェクトフォルダーに貼り付けられたリソースファイルは F5 でインデックスが作成されません。 回避策として、アプリをリビルドします。 詳細については、「 問題 1503 」を参照してください。
  • .net プロジェクトでは、リソースファイルが Visual Studio UI を使用してプロジェクトに追加されると、既定ではファイルにインデックスを設定できません。 詳細については、「 問題 1786 」を参照してください。 この問題を回避するには、次のように .CSPROJ ファイルのエントリを削除してください。
    <ItemGroup>
        <Content Remove="<image file name>" />
    </ItemGroup>
    <ItemGroup>
        <PRIResource Remove="<resw file name>" />
    </ItemGroup>
    
  • アンパッケージされた C++ WinUI アプリの場合、リソース URI が正しく作成されていません。 この問題を回避するには、.vcxproj に次のを追加します。
    <!-- Add the following after <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> -->
    
    <PropertyGroup>
        <AppxPriInitialPath></AppxPriInitialPath>   
    </PropertyGroup>
    

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

展開

新機能と更新プログラム

  • プロパティを使用して Windows app sdk を自動初期化 WindowsPackageType project し、Windows app sdk ランタイムを読み込み、Windows app sdk api を呼び出すことができます。 手順について は、「WinUI 3 アプリの作成 」を参照してください。
  • パッケージ化されていないアプリは、スタンドアロンの Windows app sdk .exe インストーラーを既存の MSI またはセットアッププログラムに統合することによって Windows App sdk をデプロイできます。 詳細については、「アプリを展開できないアプリの展開ガイド」を参照してください Windows。
  • パッケージ化されていない .net アプリは、ブートストラップ APIの .net ラッパーを使用して、実行時に Windows App SDK framework パッケージに対する依存関係を動的に取得することもできます。 .NET ラッパーの詳細については、「 .net ラッパーライブラリ」を参照してください。
  • パッケージアプリでは、deployment API を使用して、必要なすべてのパッケージがコンピューターにインストールされていることを確認し、確認することができます。 デプロイ API のしくみの詳細については、「 パッケージアプリの展開ガイド」を参照してください。

重要な制限事項

  • ブートストラップ API の .net ラッパーは、Windows App SDK へのアクセスを簡略化するために、.net アプリケーションをアンパッケージすることのみを目的としています。
  • 完全に信頼されているか、 packageManagement が制限された機能を持つ msix パッケージアプリのみが、配置 API を使用してメインパッケージとシングルトンパッケージの依存関係をインストールするアクセス許可を持っています。 部分的に信頼されたパッケージアプリのサポートは、今後のリリースで予定されています。
  • X64 システムで Deploymentmanager の Initialize メソッドを使用する x86 アプリを F5 でテストする場合は、 WindowsAppRuntimeInstall.exeを実行して、x64 framework が最初にインストールされていることを確認します。 そうしないと、通常はストアのデプロイまたはサイドローディングを通じて x64 フレームワークをデプロイ Visual Studio ため、 NOT_FOUND エラーが発生します。

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

  • どの cpu ビルド構成もサポートされていません任意の cpu をサポートする既存の .net アプリケーションまたはコンポーネントに Windows App SDK を追加する場合は、必要なアーキテクチャ x86 (、 x64 または) を指定する必要があり arm64 ます。

  • .net 5 から .net 6 へのアップグレード: Visual Studio UI でアップグレードすると、ビルドエラーが発生することがあります。 回避策として、プロジェクトファイルの TargetFrameworkPackage を次のように手動で更新します。

        <TargetFramework>net6.0-windows10.0.19041.0</TargetFramework> 
    
  • C++ UWP ツールがインストールされていない場合、C# の単一プロジェクト MSIX アプリはコンパイルされません。 C# の単一プロジェクトの msix プロジェクトがある場合は、 C++ (v14x) ユニバーサル Windows プラットフォーム Tools のオプションコンポーネントをインストールする必要があります。

  • Visual Studio 2019 の複数のバージョンがインストールされている場合、後続の言語 VSIX は Visual Studio 2019 へのインストールに失敗します。 Visual Studio 2019 の複数のバージョンがインストールされている場合 (たとえば、Release と Preview)、C++ C# の両方に対して Windows App SDK VSIX をインストールすると、2番目のインストールは失敗します。 解決するには、1つ目の言語の VSIX の後に Visual Studio 2019 用の単一プロジェクトの msix パッケージングツールをアンインストールします。 この問題の詳細については、 このフィードバック をご覧ください。

  • DispatcherQueue メソッドを使用する場合は、 co_await Windows Implementation Library (WIL)resume_foregroundヘルパー関数を使用します。

    1. Windows への参照を追加します。 ImplementationLibrary NuGet パッケージ。
    2. ステートメントを #include <wil/cppwinrt_helpers.h> コードファイルに追加します。
    3. wil::resume_foreground(your_dispatcher);を結果に使用し co_await ます。

バージョン0.8

安定チャネルの利用可能な最新リリースは、サービスリリース0.8.5 です。

注意

Windows App SDK は、以前は Project Reunion というコード ネームで知られていました。 バージョン0.8 以前の一部の SDK 資産では、引き続きコード名が使用されます。 ドキュメントの一部では、既存のアセットや指定された旧リリースを参照する際に、Project Reunion が引き続き使用されています。

バージョン 0.8.5

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

バグの修正

  • ポインター入力を使用して、WinUI アプリがクラッシュする原因となった問題を修正しました。
  • タイトルバーのボタン ([最小]、[最大]、[閉じる]) が Windows 11 の角を丸くしない問題を修正しました。
  • Windows 11 の [最大化/元に戻す] ボタンをポイントしたときに、サイズ変更レイアウトオプションが表示されない問題を修正した。
  • Pointcollectionオブジェクトを作成するときに例外が発生する問題を修正した。 詳細については、Github の「 issue 971 」を参照してください。

バージョン0.8 の制限事項と既知の問題は、 次のセクションで特に指定されていない限り、バージョン0.8.5 にも適用されます。

バージョン 0.8.4

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

バグの修正

  • カスタムタイトルバーを修正して、 Contentdialog がそれをカバーしないようにし、タイトルバーボタンを丸めます。
  • 表示スケールが変更されたときの画像処理のクラッシュを修正しました。
  • UI が正しく表示されない、またはクリップされたバグを修正します

バージョン0.8 の制限事項と既知の問題は、 次のセクションで特に指定されていない限り、バージョン0.8.4 にも適用されます。

バージョン 0.8.3

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

バグの修正

ウィンドウが最小化されてから復元されたときに、キーボードフォーカスが失われたため、フォーカスを復元するためにマウスクリックが必要になりました。

バージョン0.8 の制限事項と既知の問題は、 次のセクションで特に指定されていない限り、バージョン0.8.3 にも適用されます。

バージョン 0.8.2

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

バグの修正

  • Windows App SDK と WinUI 3 は、Visual Studio 2022 Preview 2 以降でサポートされるようになりました。
  • .NET アプリの場合、列挙体の配列を渡すと、次のエラーが表示されることがあります。 Object contains non-primitive or non-blittable data.
  • テキストボックス内の手書きパネルを使用して書き込むとクラッシュが発生する
  • アイコン/画像は、モニターのスケール値に基づいて、常に100% のスケール値で読み込まれます
  • <T> EventSource のガベージコレクションにより、後続のハンドラーの登録解除が失敗する (詳細については GitHub の問題を参照してください)
  • セキュリティの修正-詳細については 、CVE-2021-34533 を参照してください。
  • SwapChainPanel は、表示スケールを変更した後に誤った CompositionScale 値を返すことがある

バージョン0.8 の制限事項と既知の問題は、 次のセクションで特に指定されていない限り、バージョン0.8.2 にも適用されます。

バージョン 0.8.1

これは、0.8.0 以降リリースのいくつかの重要なバグ修正が含まれている Windows App SDK のサービスリリースです。

バグの修正

  • Windows App SDK は、最新の Windows Insider ビルドでは実行できません
  • ドロップダウンに表示されない値を入力したときに EditableComboBox でクラッシュする
  • フォーカスを取得した後にユーザーが tab キーを WebView2 ことを許可しない
  • Windows を完全に修飾します。名前空間のあいまいさを避けるために、WinUI によって生成されたコードの DefaultOverload 名前空間
    • これにより、バグ #5108が修正されます。
  • セキュリティの修正-詳細については 、CVE-2021-34489 を参照してください。

バージョン0.8 の制限事項と既知の問題は、 次のセクションで特に指定されていない限り、バージョン0.8.1 にも適用されます。

バージョン0.8.0 以降安定

新機能と更新プログラム

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

WinUI 3

このリリースには、多くのバグ修正が含まれており、WinUI 3 での安定化が改善されています。 次に、winui 3-Project レユニオン0.5 のリリース以降の、winui 3 の新しい変更点を示します。

  • Pivot コントロールがに再び追加され、すべての WinUI 3 アプリで使用できるようになりました。

  • このリリースには、Project レユニオン v 0.5.5、v 0.5.6、および v 0.5.7 からのすべてのバグ修正が含まれています。

  • 新しいバグ修正 (次を含む):

    • TextBox 内でマウスを右クリックすると、アプリケーションがクラッシュする
    • NavigationView により、UWP でクラッシュが発生する (Reunion 0.5 Preview)
    • ProgressBar で一時停止とエラー オプションの違いが表示されない
    • テキストスタイルのコピー/貼り付け/変更時の RichEditBox のクラッシュ
    • SetTitleBar が設定されていないか null であるときに、ウィンドウのキャプションボタンの位置が間違っています

    このリリースで解決されたバグの完全な一覧については、 GitHub リポジトリを参照してください。

  • ColorHelper.ToDisplayNameAPI は使用できなくなりました。

  • 次の型は削除されました。

    • Microsoft.Graphics.IGeometrySource2D
    • Microsoft.Graphics.IGeometrySource2DInterop

    代わりに、Windows.Graphics.IGeometrySource2D および Windows.Graphics.IGeometrySource2DInterop を使用してください。

  • 名前空間のすべての型は、 Microsoft.System Microsoft.UI.Dispatching DispatcherQueue クラスを含む名前空間に移動されています。

  • AcrylicBrush.BackgroundSource HostBackdrop は、WinUI 3 ではサポートされていないため、プロパティは削除されてい BackgroundSource ます。

winui の詳細については、「 Windows UI 3 Library (winui)」を参照してください。

winui 3 のコントロールと機能の動作を確認するには、 GitHub からwinui 3 コントロールギャラリーアプリを複製してビルドするか、 Microsoft Store からアプリをダウンロードします。

WinUI を使用した開発を開始するには、次の記事を確認してください。

DWriteCore

このリリースの DWriteCore には、次の新機能と更新された機能が含まれています。 DWriteCore は、 DWriteCore の概要で説明されています。

注意

DWriteCoreCreateFactoryは、システムバージョンの DirectWrite によってエクスポートされる DWriteCreateFactory関数と機能的には同じです。 との両方をリンクするイベントのあいまいさを避けるために、DWriteCore 関数には異なる名前が付いてい DWriteCore.lib DWrite.lib ます。

DWriteCore と DirectWrite api リファレンスについては、「 DWriteCore api reference 」および「api リファレンスのDirectWrite」を参照してください。

MRTCore

  • リソースの ビルドアクション は、リソースをプロジェクトに追加すると自動的に設定されるため、プロジェクトを手動で構成する必要が少なくなります。

制限事項

  • 現在、このリリースは、 Windows Insider プログラムの開発チャネルではサポートされていません。 これは、バージョン0.8.1 で修正され ています。

  • デスクトップアプリ (C# または C++ デスクトップ): このリリースは、MSIX を使用してパッケージ化されたデスクトップアプリ (C++ または C#) でのみ使用できます。 パッケージされていないデスクトップアプリで Windows App SDK を使用するには、試験段階のリリースチャネルを使用する必要があります。

重要

UWP アプリで作業している場合は、UWP移行ガイダンスを参照して、アプリをアプリ SDK への移行の詳細Windows確認してください。

既知の問題

  • live Visual Tree、live Property Explorer、version 0.8 以降のホットリロードなどの WinUI 3 ツールでは、Visual Studio 2019 16.11 Preview 3 以降が必要です。

  • 現在、WinUI 3 および Windows App SDK 0.8 を使用しているアプリは、Project レユニオン0.5 を使用するクラスライブラリを使用することはできません。 Windows App SDK 0.8 を使用するようにクラスライブラリを更新します。

  • .NET アプリはビルド18362以降をターゲットにする必要があります。 TFM は NET 5.0-windows 10.0.18362 以上に設定する必要があり、パッケージプロジェクトは18362以上に設定する必要があります。 詳細については、「 GitHub issue #921」を参照してください。

  • 頻繁にライトモードとダークモードの切り替えを行うと、クラッシュが発生する可能性があります。

  • .NET アプリの場合、列挙型の配列を渡すと、次のエラーが表示されることがあります。 Object contains non-primitive or non-blittable data. これはバージョン0.8.2 で修正され ています。

  • .NET アプリの場合、現在、Visual Studio UI を使用してアプリリソースとしてインデックスを取得するイメージをオプトアウトする方法はありません。 この問題を回避するには、次のようにして、プロジェクトに対してディレクトリを追加し (手順については「ビルドの Visual Studio をカスタマイズする」を参照してください)、イメージを削除します。

    • 特定のイメージを削除するには (相対パスが必要であることに注意してください):

      <Project> 
      <ItemGroup> 
          <Content Remove="..\Bitmap1.bmp" />
      </ItemGroup>
      </Project>
      
    • メタデータに基づいてイメージを削除するには:

      <Project>
      <ItemGroup>
          <Content Remove="@(None->WithMetadataValue('Pack','true'))" />
      </ItemGroup>
      </Project>
      

    この問題の修正は、今後のリリースで予定されています。その時点で、上記の回避策は不要になります。

バージョン0.5

利用可能な最新のサービスリリースは 0.5.9です。

新機能と更新プログラム

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

既知の問題と制限事項

このリリースには、次の制限事項と既知の問題があります。

  • デスクトップ アプリ (C# または C++ デスクトップ) : このリリースは、MSIX を使用してパッケージ化されたデスクトップ アプリ (C++ または C#) でのみ使用できます。 パッケージされていないデスクトップ Windows App SDK を使用するには、試験段階のリリース チャネル を使用する必要があります
  • .NET アプリはビルド 18362 以上を対象とする必要があります:TFM を 以上に設定し、パッケージ プロジェクトの を net5.0-windows10.0.18362 <TargetPlatformVersion> 18362 以上に設定する必要があります。 詳細については、 の既知の問題に関するページをGitHub。

重要

UWP アプリで作業している場合は、UWP移行ガイダンスを参照して、アプリをアプリ SDK への移行の詳細Windows確認してください。