Windows App SDK 0.8 リリース ノート

信頼性の高い運用ビルドから今後の機能への早期アクセスまで、開発ニーズに応じて 、安定チャネルプレビュー チャネル、 および試験段階 のチャネルを選択できます。 リリース チャネルの詳細を確認します

更新されたランタイムと MSIX については、「 Windows App SDK のダウンロード」を参照してください。

バージョン 0.8.12

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

バグの修正
  • SwapChainPanel または WebView2 を使ったアプリが、アクセス違反により予測せずクラッシュする問題を修正しました。

バージョン 0.8.11

バグの修正
  • マウスでテキストを選んだときに、フォーカスの喪失イベントが発生する回帰を修正しました。

バージョン 0.8.10

バグの修正
  • ドラッグ アンド ドロップ操作中にアプリがクラッシュすることがある問題を修正しました。

Windows App SDK 0.8.9 はリリースされませんでした。 0.8.8 の直後にリリースされたバージョンは 0.8.10 です。

--- ---

バージョン 0.8.8

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

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 必要です" のようなエラーが表示

バグの修正
  • ソフトキー ボードと一般的な相互作用に関する TextBox のタッチ入力の問題を修正しました。 これらの問題は、キーボード ショートカットにも影響していました。 詳細については、GitHub の issue 6291 を参照してください。
  • アプリのウィンドウがアクティブなときに非アクティブと表示されることがある問題を修正しました。
  • UIA (UI オートメーション) が外部プロセスで実行されることで発生するパフォーマンスの問題を修正しました。
  • ペン入力時のアプリの安定性に関する問題を修正しました。
  • UIA の影響により、メニューの png アイコンのレンダリングが大幅に遅延する問題を修正しました。

バージョン 0.8.7

これは、C#/.NET アプリケーションのいくつかのパフォーマンス更新を含む Windows App SDK のサービス リリースです。 このバージョンに更新するには、最新の Windows SDK パッケージのバージョンを参照する必要があります。 そのためには、<WindowsSdkPackageVersion>10.0.<sdk_version>.24</WindowsSdkPackageVersion> ファイルに .csproj プロパティを追加し、TargetFramework プロパティからアプリがターゲットとしている SDK バージョンを指定します。 例えば次が挙げられます。

<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <OutputType>WinExe</OutputType>
        <TargetFramework>net8.0-windows10.0.19041.0</TargetFramework>
        <TargetPlatformMinVersion>10.0.17763.0</TargetPlatformMinVersion>
        <WindowsSdkPackageVersion>10.0.19041.24</WindowsSdkPackageVersion>
    </PropertyGroup>
    ...

このバージョンの Windows SDK プロジェクションは、今後の .NET 6 サービス リリースで使用できるようになる予定です。 その .NET SDK の更新プログラムがリリースされたら、プロジェクト ファイルから <WindowsSdkPackageVersion> プロパティを削除する必要があります。

このプロパティを設定しない場合、次のようなエラーが表示されます: "Error: This version of Project Reunion requires WinRT.Runtime.dll version 1.6 or greater."


バージョン 0.8.6

これは、0.8.0 リリースの C#/.NET アプリケーションのいくつかのパフォーマンス向上を含む Windows App SDK のサービス リリースです。

このバージョンの Windows App SDK に更新するには、最新の .NET SDK December 更新プログラムをインストールしておく必要があります (「.NET のダウンロード」と「.NET 5 は 2022 年 5 月 10 日にサポートが終了します」を参照してください)。 .NET SDK の最低限必要なバージョンがインストールされていない場合は、次のようなエラーが表示されます。 "Error: This version of Project Reunion requires WinRT.Runtime.dll version 1.4 or greater."

バグの修正

パフォーマンスの向上の詳細な一覧については、C#/WinRT 1.4.1 リリース ノートを参照してください。


バージョン 0.8.5

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

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

バージョン 0.8.4

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

バグの修正
  • カスタム タイトルバーが ContentDialog に隠される問題を解決し、タイトルバーのボタンを丸くする修正。
  • 表示スケールが変更された場合の画像処理におけるクラッシュの修正。
  • UI が表示されない、または正しくクリップされないクリッピング バグの修正。

バージョン 0.8.3

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

バグの修正
  • ウィンドウを最小化してから復元するときにキーボード フォーカスが失われ、フォーカスを復元するためにマウス クリックが必要でした。

バージョン 0.8.2

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

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

バージョン 0.8.1

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

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

バージョン 0.8.0 安定版

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

WinUI 3 > >このリリースには、多くのバグ修正と WinUI 3 全体の安定化の改善が含まれています。 WinUI 3 - Project Reunion 0.5: >のリリース以降の WinUI 3 の新しい変更点はすべて次のとおりです。 > - ピボット コントロールが再び追加され、任意の WinUI アプリで使用できるようになりました。 > - Project Reunion v0.5.5、v0.5.6、および v0.5.7 のすべてのバグ修正は、このリリースに含まれています。 - 新しいバグ修正項目: - TextBox でマウス右クリックすると、アプリケーションがクラッシュします - NavigationView は UWP と Reunion 0.5 Preview でクラッシュします - ProgressBar に [一時停止] オプションと [エラー] オプションの違いが表示されません - テキスト スタイルのコピー/貼り付け/変更時に RichEditBox でクラッシュします - SetTitleBar が設定されていない場合、または null の場合にウィンドウのキャプションボタンが配置されません **このリリースで対処されたバグの完全な一覧については、[GitHub リポジトリ](https://aka.ms/winui3/0.8/bugs-fixed).** を参照してください - 'ColorHelper.ToDisplayName' API は使用できなくなりました。 > - 次の型が削除されました: > - 'Microsoft.Graphics.IGeometrySource2D' > - 'Microsoft.Graphics.IGeometrySource2DInterop' > >'Windows.Graphics.IGeometrySource2D' と 'Windows.Graphics.IGeometrySource2DInterop' を代わりに使用してください。 > > - 'Microsoft.System' 名前空間内のすべての型は、[DispatcherQueue クラス](/windows/windows-app-sdk/api/winrt/microsoft.ui.dispatching.dispatcherqueue) を含め、'Microsoft.UI.Dispatching' 名前空間に移動されました。 > > - 'AcrylicBrush.BackgroundSource' プロパティは削除されました。これは、WinUI 3 では 'HostBackdrop' が 'BackgroundSource' としてサポートされていないためです。 > > WinUI の詳細については、「[WinUI](../../winui/index.md)。 > > WinUI 3 のコントロールと機能の動作を確認するには、WinUI 3 ギャラリー アプリを複製してビルドします (GitHub から](https://github.com/microsoft/WinUI-Gallery/tree/main)、または [Microsoft Store から] アプリをダウンロードします。https://apps.microsoft.com/detail/9P3JFPWWDZRC). > > WinUI の開発を開始するには、次の記事を参照してください: > > - [Visual Studio の WinUI 3 テンプレート](../../winui/winui3/winui-project-templates-in-visual-studio.md) > - [Create your first WinUI 3 (Windows App SDK) project](../../winui/winui3/create-your-first-winui3-app.md) > - [WinUI 3 と Win32 相互運用機能を使用して C# .NET アプリをビルドする](../../winui/winui3/desktop-winui3-app-with-basic-interop.md) > - [WinUI 3 API リファレンス](/windows/winui/api)
DWriteCore > > DWriteCore のこのリリースには、次の新機能と更新された機能が含まれています。 DWriteCore が導入され、[DWriteCore の概要](/windows/win32/directwrite/dwritecore-overview) で説明されています。 > > - DWriteCore では、下線がサポートされるようになりました—see [**IDWriteTextLayout::GetUnderline**](/windows/win32/api/dwrite/nf-dwrite-idwritetextlayout-getunderline) と [**IDWriteTextLayout::SetUnderline**](/windows/win32/api/dwrite/nf-dwrite-idwritetextlayout-setunderline)。 - 取り消し線のサポート—は、[**IDWriteTextLayout::GetStrikethrough**](/windows/win32/api/dwrite/nf-dwrite-idwritetextlayout-getstrikethrough) および [**IDWriteTextLayout::SetStrikethrough**](/windows/win32/api/dwrite/nf-dwrite-idwritetextlayout-setstrikethrough) を参照してください。 ‏- [**IDWriteTextLayout**](/windows/win32/api/dwrite/nn-dwrite-idwritetextlayout)を使用した[垂直テキスト](/windows/win32/directwrite/vertical-text)のサポート。 > - [**IDWriteTextAnalyzer**](/windows/win32/api/dwrite/nn-dwrite-idwritetextanalyzer) および [**IDWriteTextAnalyzer1**](/windows/win32/api/dwrite_1/nn-dwrite_1-idwritetextanalyzer1) インターフェイスのすべてのメソッドが実装されています。 > - [**DWriteCoreCreateFactory**](/windows/windows-app-sdk/api/win32/dwrite_core/nf-dwrite_core-dwritecorecreatefactory) free 関数は、個々の DWriteCore オブジェクトの後続の作成に使用されるファクトリ オブジェクトを作成します。 > > [!注] > [**DWriteCoreCreateFactory**](/windows/windows-app-sdk/api/win32/dwrite_core/nf-dwrite_core-dwritecorecreatefactory)は、DirectWrite のシステム バージョンによってエクスポートされる [**DWriteCreateFactory**](/windows/win32/api/dwrite/nf-dwrite-dwritecreatefactory) 関数と機能的に同じです。 DWriteCore 関数には、'DWriteCore.lib' と 'DWrite.lib' の両方をリンクする場合のあいまいさを回避するために、別の名前があります。 > > DWriteCore と DirectWrite API リファレンスについては、[DWriteCore API リファレンス](/windows/windows-app-sdk/api/win32/_dwritecore/) と [DirectWrite API リファレンス](/windows/win32/directwrite/reference) を参照してください。
MRTCore
  • リソースをプロジェクトに追加すると、リソースのビルド アクションが自動的に設定されるため、プロジェクトを手動で構成する必要性が少なくなります。
制限
  • このリリースは、Windows Insider Program の Dev チャネルでは現在サポートされていません。 これはバージョン 0.8.1 で修正されています

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

既知の問題
  • ライブ ビジュアル ツリー、ライブ プロパティ エクスプローラー、ホット リロードのバージョン 0.8 以降などの WinUI 3 ツールでは、Visual Studio 2019 16.11 プレビュー 3 以降が必要です。

  • 現在 WinUI と Windows App SDK 0.8 を使用しているアプリでは、Project Reunion 0.5 を使用するクラス ライブラリを使用できません。 Windows App SDK 0.8 を使用するようにクラス ライブラリを更新してください。

  • .NET アプリはビルド 18362 以降をターゲットにする必要がある: TFM は、net6.0-windows10.0.18362 以降に設定する必要があり、パッケージ プロジェクトは 18362 以降に設定する必要があります。 詳細については、GitHub の問題 #921 を参照してください。

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

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

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

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

      <Project>
      <ItemGroup>
          <Content Remove="..\Bitmap1.bmp" />
      </ItemGroup>
      </Project>
      
      • メタデータに基づいてイメージを削除するには:
      <Project>
      <ItemGroup>
          <Content Remove="@(None->WithMetadataValue('Pack','true'))" />
      </ItemGroup>
      </Project>
      

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

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

WinUI 3

このリリースでは、WinUI の重要なバグ修正 (0.5 サービス リリースで修正されたものを含む) とその他の変更が導入されています。 完全な一覧については、「 概要とリリース ノート: WinUI 3 - Project Reunion 0.8 Preview (2021 年 5 月)」を参照してください。

アプリのライフサイクル (試験段階の機能)

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

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

詳細については、「アプリ ライフサイクル API を使用したアプリのインスタンス化」および「アプリ ライフサイクル API使用したリッチ アクティブ化」を参照してください。

パッケージ化されていないアプリの展開 (試験的機能)

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

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

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

DWriteCore

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

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

詳細については、「 DirectWrite から DWriteCore への移行」を参照してください。

MRT Core

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

  • リソースのビルド アクションが自動的に設定され、プロジェクトの手動構成が不要になりました。
  • パッケージ化されていないアプリの試験的なサポート。

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

制限事項と既知の問題
  • CPU ビルド構成はサポートされていません。Windows App SDK はネイティブ コードで記述されているため、 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 のサンプルは、このリリースでは機能しません。

このバージョンの試験段階のリリースはありません。