UWP から Windows App SDK への移行

ユニバーサル Windows プラットフォーム (UWP) の現在の機能に満足している場合は、プロジェクトの種類を移行する必要はありません。 WinUI 2.x と Windows SDK では、UWP プロジェクトの種類がサポートされています。

ただし、アプリを UWP から Windows App SDK に移行することに決めた場合、大部分の UI コードでは名前空間のいくつかの変更が必要です。 プラットフォーム コードの多くは同じままにできます。 UWP アプリとデスクトップ アプリとの違いにより、いくつかのコードを調整する必要があります。 ただし、ほとんどのアプリ (もちろん、コードベースのサイズに応じて) では、移行には数週間ではなく数日ほどかかります。

大まかに、手動で移行する手順は次のとおりです (ただし、.NET Upgrade Assistant ツールの使用方法については、次のセクションを参照してください)。

  1. 新しい WinUI 3 パッケージ化デスクトップ プロジェクトを作成します (「最初の WinUI 3 プロジェクトを作成する」を参照してください)。 これは、既存のソリューションに入れることができます。
  2. XAML/UI コードをコピーします。 多くの場合、単に名前空間を変更できます (たとえば、Windows.UI.* から Microsoft.UI.*)。
  3. アプリのロジック コードをコピーします。 一部の API では、PopupPickerSecondaryTile などの調整が必要です。

詳細については、以下の表のトピックを参照してください。 ユニバーサル Windows プラットフォーム (UWP) アプリケーションを Windows アプリ SDK に手動で移行する方法について説明し、デモンストレーションします。

UWP から WinUI 3 への移行時にサポートされる機能を特にメモしておきます。 このトピックでは、WinUI 3 と Windows App SDK でまだサポートされていない機能について説明します。 アプリでこれらの機能やライブラリのいずれかが必要な場合は、移行を待つことを検討してください。

.NET アップグレード アシスタント ツールを使用した移行

UWP アプリを Windows アプリ SDK および WinUI 3 に移行するためのさらに手順として、.NET アップグレード アシスタントを活用し、C# UWP アプリの移行のサポートを追加しました。 UWP サポートにより、移行プロセスの多くが自動化されます。 詳細については、「.NET アップグレード アシスタントを使用して UWP から Windows アプリ SDK に移行する」を参照してください。

このセクションのトピック

トピック 説明
全体的な移行戦略 移行プロセスに取り組む際の考慮事項と戦略、および移行用の開発環境を設定する方法。
Windows App SDK への UWP 機能のマッピング このトピックでは、UWP と Windows App SDK に表示されるさまざまな形式の主要な機能領域を比較します。
サポート内容 UWP アプリの移行を今すぐ試みる必要があるかどうかを評価するために、WinUI 3 Desktop で現在使用できる機能について説明します。
UWP API とライブラリの Windows App SDK へのマッピング このトピックでは、UWP API およびライブラリとそれに対応する Windows App SDK とのマッピングについて説明します。
機能領域ガイド 特定の機能領域に 1 つずつ焦点を当てて説明する、一連の移行ガイダンスのトピック。
ケース スタディ 1—PhotoLab (C#) このトピックは、C# UWP PhotoLab サンプル アプリを取得して、それを Windows App SDK に移行するケース スタディです。
ケース スタディ 2—フォト エディター (C++/WinRT) このトピックは、C++/WinRT UWP Photo Editor サンプル アプリを取得し、それを Windows App SDK に移行するというケース スタディです。
その他の移行ガイダンス このトピックには、機能領域ガイドの機能領域に分類されていない追加の移行ガイダンスが含まれています。
.NET アップグレード アシスタントを使用して UWP から Windows アプリ SDK に移行する .NET アップグレード アシスタントは、C# UWP アプリを、Windows アプリ SDK を使用する Windows UI ライブラリ (WinUI) 3 アプリに移行するのに役立つコマンド ライン ツールです。