UWP から Windows App SDK への移行
アプリを ユニバーサル Windows プラットフォーム (UWP) からWindows アプリ SDKに移行するには、UI コードに必要な名前空間の変更がいくつか必要である一方で、プラットフォーム コードの多くは同じままである可能性があります。 UWP アプリとデスクトップ アプリとの違いにより、いくつかのコードを調整する必要があります。 ただし、ほとんどのアプリ (もちろん、コードベースのサイズに応じて) では、移行には数週間ではなく数日ほどかかります。
Note
既存の UWP アプリは引き続き正常に機能します。 ただし、WinUI 3 の最新機能とWindows アプリ SDKを利用するには、アプリを移行することをお勧めします。
手動で移行するための手順の概要を次に示します。 ただし、 .NET アップグレード アシスタント ツール) の使用方法については、次のセクションを参照してください。
- 新しい WinUI 3 パッケージ化デスクトップ プロジェクトを作成します (「最初の WinUI 3 プロジェクトを作成する」を参照してください)。 これは、プロジェクトの既存のソリューションに入る可能性があります。
- XAML/UI コードをコピーします。 多くの場合、単に名前空間を変更できます (たとえば、Windows.UI.* から Microsoft.UI.*)。
- アプリのロジック コードをコピーします。 一部の API では、Popup、Picker、SecondaryTile などの調整が必要です。
詳細については、以下の表のトピックを参照してください。 ユニバーサル Windows プラットフォーム (UWP) アプリケーションを Windows アプリ SDK に手動で移行する方法について説明し、デモンストレーションします。
UWP から WinUI 3 への移行時にサポートされる機能を特に参照してください。その記事では、WinUI 3 と Windows アプリ SDKでまだサポートされていない機能について説明しています。 アプリでこれらの機能/ライブラリのいずれかが必要な場合は、移行の延期を検討することをお勧めします。
Note
UWP アプリのソース コードが C++/CX で記述されている場合は、 C++/CX から C++/WinRT に移動するも参照してください。
.NET アップグレード アシスタント ツールを使用した移行
UWP アプリを Windows アプリ SDK および WinUI 3 に移行するためのさらに手順として、.NET アップグレード アシスタントを活用し、C# UWP アプリの移行のサポートを追加しました。 UWP サポートにより、移行プロセスの多くが自動化されます。 詳細については、「.NET アップグレード アシスタントを使用して UWP から Windows アプリ SDK に移行する」を参照してください。
コンテナー化の利点
Windows アプリ SDKに移行すると、UWP アプリケーションでは、元のプラットフォームに固有のコンテナー化の利点が失われる可能性があります。 ただし、これらの利点は、Win32 アプリ分離 (サンドボックス環境内でアプリケーションを分離することによって保護を強化する新しいセキュリティ機能) を使用して復元できます。 このアプローチでは、既存のコードを最小限に変更するだけで、潜在的な脅威に対する追加のセキュリティが提供されます。 詳しくは、Win32 アプリの分離の使用を開始する方法 GitHub の Win32 アプリ分離リポジトリ をご覧ください。
このセクションのトピック
トピック | 説明 |
---|---|
全体的な移行戦略 | 移行プロセスに取り組む際の考慮事項と戦略、および移行用の開発環境を設定する方法。 |
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 を使用する WinUI 3 アプリに移行するのに役立つコマンド ライン ツールです。 |
参照
Windows developer