UWP から Windows App SDK への移行

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

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

  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 アップグレード アシスタント ツールを使用した移行

ユニバーサル Windows プラットフォーム (UWP) アプリを Windows アプリ SDK および WinUI 3 に移行するための次の手順として、.NET アップグレード アシスタントを利用し、C# UWP アプリの移行のサポートを追加しました。 UWP のサポートにより、移行プロセスの多くが自動化されます。 プレビューが利用可能になりました。詳細については、「.NET アップグレード アシスタントを使用して UWP からWindows アプリ SDKに移行する」を参照してください。

.NET アップグレード アシスタントでの UWP サポートのロードマップには、さらにツールの機能強化と新機能の移行サポートの追加が含まれています。

アップグレード アシスタント GitHub リポジトリには、トラブルシューティングのヒントと既知の問題が記載されています。 ツールの使用中に問題が見つかる場合は、同じ GitHub リポジトリで報告し、 の UWParea タグでタグを付けてください。 私たちはそれを感謝します!

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

トピック 説明
全体的な移行戦略 移行プロセスに取り組む際の考慮事項と戦略、および移行用の開発環境を設定する方法。
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 フォト エディター サンプル アプリを取得して、それを Windows App SDK に移行するケース スタディです。
その他の移行ガイダンス このトピックには、機能領域ガイドの機能領域に分類されていない追加の移行ガイダンスが含まれています。
.NET アップグレード アシスタントを使用して UWP からWindows アプリ SDKに移行する .NET アップグレード アシスタントは、C# UWP アプリを、Windows アプリ SDKを使用する Windows UI ライブラリ (WinUI) 3 アプリに移行するのに役立つコマンド ライン ツールです。