.NET Upgrade Assistant を使用して、Xamarin.Forms アプリを .NET MAUI アプリにアップグレードする

.NET Upgrade Assistant は、ソリューションのプロジェクト ファイルを変換し、一般的なコード更新を実行することで、Xamarin.Forms プロジェクトを .NET マルチプラットフォーム アプリ UI (.NET MAUI) にアップグレードするのに役立ちます。 具体的には、ツールは次の処理を行います。

  • Xamarin.Forms クラス ライブラリ プロジェクト、Xamarin.iOS プロジェクト、Xamarin.Android プロジェクトを SDK スタイルのプロジェクトに変換します。
  • 必要に応じて、プロジェクト ファイル内のターゲット フレームワークを net8.0-android と net8.0-ios に更新します。
  • プロジェクト ファイルの <UseMaui>true</UseMaui> を設定します。
  • 追加のプロジェクト プロパティを追加し、不要なプロジェクト プロパティを削除します。
  • 特定の NuGet パッケージを追加および削除します。
    • Xamarin.Forms NuGet パッケージと Xamarin.Essentials NuGet パッケージを削除します。
    • Xamarin.CommunityToolkit NuGet パッケージを .NET MAUI Community Toolkit NuGet パッケージに置き換えます。
    • 使用されている場合は、SkiaSharp NuGet パッケージの Xamarin.Forms 互換性のあるバージョンを .NET MAUI 互換バージョンに置き換えます。
  • Xamarin.Essentials 名前空間への参照を削除し、Xamarin.Forms 名前空間を Microsoft.Maui 名前空間と Microsoft.Maui.Controls 名前空間に置き換えます。

このツールを実行した後、移行を完了するためにさらに作業が必要となります。

Note

.NET Upgrade Assistant for .NET MAUI では、UWP プロジェクト、iOS 拡張機能プロジェクト、またはバインド プロジェクトのアップグレードはサポートされていません。

変換できる他のアプリの種類など、.NET Upgrade Assistant の詳細については、「.NET Upgrade Assistant の概要」をご覧ください。

作業の開始

.NET Upgrade Assistant は、Windows 上の Visual Studio 拡張機能として、および Windows と Mac 用の CLI ツールとして使用できます。 これを使用するには、Xamarin.Forms プロジェクトで Xamarin.Forms 4.8 以上を使用する必要があります。 ただし、成功を収めるためには、Xamarin.Forms プロジェクトで Xamarin.Forms 5.0 と .NET Standard 2.0 以降を使用することをお勧めします。

重要

.NET Upgrade Assistant for .NET MAUI はまだ開発中です。 このツールを引き続き改善できるように、'area:Maui' ラベルフィードバックを送信してください。

.NET Upgrade Assistant によって、実行するアップグレードの種類を確認するメッセージが表示されます。

  • インプレース: このオプションは、コピーを作成せずにプロジェクトをアップグレードします。
  • サイド バイ サイド: このオプションは、プロジェクトをコピーし、コピーをアップグレードし、元のプロジェクトはそのまま残します。 現在、.NET MAUI のサイド バイ サイド アップグレードでは、各プロジェクト ヘッドをアップグレードするための新しいプロジェクトを作成する必要があります。 プロジェクト ヘッドを既存のプロジェクトにアップグレードしようとすると、エラーが発生する可能性があり、現時点ではサポートされていません。

Xamarin.Forms アプリを .NET MAUI にアップグレードする前に、最初に Xamarin.Forms 5 を使用するように Xamarin.Forms アプリを更新し、引き続き正常に実行されるようにする必要があります。 さらに、アプリが使用する依存関係を最新バージョンに更新する必要があります。

これにより、移行プロセスの残りの部分が簡略化されます。これにより、Xamarin.Forms と .NET MAUI の間の API の違いが最小限になり、依存関係の .NET 互換バージョンが存在する場合は確実に使用できるようになります。

Visual Studio のクイック アクション

.NET アップグレード アシスタントには、名前空間を Xamarin.Forms 適切な .NET MAUI 名前空間に変換するためのクイック アクションがあります。これは電球として表示されます。

Screenshot of previewing the application of a light bulb suggestion.

クイック アクションにより、ファイル全体で必要な置換が行われます。

Note

プロジェクトから Xamarin.Forms .NET MAUI プロジェクトにファイルを移行すると、クイック アクション電球が表示されます。

インストール

アップグレード アシスタントを実行するには、Visual Studio 2022 バージョン 17.6.0 以降を強くお勧めします。 アップグレード アシスタント拡張機能のインストール。

  1. Visual Studio を開いて、[拡張機能] > [拡張機能の管理] メニュー項目を選択します。
  2. [拡張機能の管理] ダイアログで、.NET Upgrade Assistant を検索してダウンロードします。
  3. 拡張機能がダウンロードされたら、Visual Studio を閉じます。 その後、拡張機能がインストールされます。

拡張機能は、Visual Studio Marketplace で新しいバージョンが使用可能になると自動的に更新されます。 詳細については、「拡張機能の自動更新」をご覧ください。

アップグレード アシスタントを実行する

[ソリューション エクスプローラー] でプロジェクトを右クリックし、[アップグレード] を選択します。

次のステップ