Rider で MAUI を始めましょう
JetBrains Rider は、Android、iOS、macOS、Windows 向けの .NET MAUIプロジェクトの作成と操作をサポートしています。 JetBrains Rider には XAML 用のデザイナーやプレビュー機能はありませんが、エミュレーターや接続されたデバイスでビジュアルの調整ができ、XAML ホットリロードで違いを確認できます。 また、 コード解析、 コーディング支援、 デバッグなどの機能を C#やその他の言語で、さらに 統合 VCS クライアントなどの一般的な IDE 機能も利用できます。
.NET MAUI が依存する他のツール(Android SDK、Android エミュレーターなど)が適切に構成されていれば、JetBrains Rider IDE から .NET MAUI アプリケーションをそのままビルド、実行、公開できます。
macOS では、JetBrains Rider によって Xcode との同期が提供されます。これはリソースやターゲットの設定やアプリケーションの署名に必要です。
始める前に
OS に依存しない手順
コンピューターで MAUI サポートを有効にするには、ターミナルで次のコマンドを実行します。
dotnet workload install maui必要に応じて、ターゲット固有のワークロードをインストールしてください:
maui-ios maui-android maui-maccatalyst maui-windowsOpenJDK 17 以降のバージョンであることを確認してください。
Android 用のアプリケーションを実行または公開する必要がある場合は、 Rider Android サポート(英語)プラグインを インストールします。
OS に応じて、次のように構成します。
Windows では、任意のプラットフォーム用の MAUI アプリケーションを開発できますが、ローカルビルドと実行 / デバッグは Blazor アプリと Android デバイスおよびエミュレーターに制限されます。
iOS と macOS 上でアプリケーションをビルドして実行できます。 そのためには、ネットワーク経由でアクセスできる Mac エージェントを設定し、メインメニューから を選択して新しい接続を追加し、 接続 をクリックします。
macOS では、MAUI アプリケーションを開発、ビルド、実行できます。
リソースとターゲットを設定し、アプリケーションに署名するには、マシンに Xcode(英語) がインストールされていることを確認してください。 Xcode をインストールしてサインインするには、Apple ID が必要です。 まだお持ちでない場合は、 https://appleid.apple.com(英語) で新しいものを作成できます。
JetBrains Rider は Xcode を自動で検出します。 複数の Xcode バージョンをお持ちの場合は、JetBrains Rider 設定 Ctrl+Alt+S の ページでどれを使用するかを選択できます。
Linux では、Android ターゲットを使用して MAUI Android ネイティブアプリを作成・開発できます。 以下のソフトウェアがマシンにインストールされていることを確認してください。
.NET MAUI Android ワークロード (
dotnet workload install maui-androidを実行してインストールする)
新しい MAUI プロジェクトを作成する
JetBrains Rider には、新しい MAUI プロジェクト用の構成可能なプロジェクトテンプレートが含まれています。
を使用して新しいソリューションに新しい MAUI プロジェクトを作成したり、ソリューションエクスプローラーでソリューションまたはソリューションフォルダーノードを右クリックして を選択することにより、既存のソリューションに新しい MAUI プロジェクトを追加したりできます。

XAML を編集する
JetBrains Rider は、コード補完、構文ハイライト、エラーや警告の解析など、.NET MAUI プロジェクト向けに充実した XAML 編集体験を提供します。
コード補完ポップアップを使用すると、XAML 要素から直接イベントハンドラーを生成できます。 イベント属性を入力すると、JetBrains Rider がコードビハインドファイルに新しいハンドラーメソッドの作成を提案します。

使用箇所の検索を利用して、コードベース全体で MAUI コントロールやプロパティが参照されている場所を特定できます。 これは、ビューや共有リソースが多い大規模なアプリケーションで特に役立ちます。
MAUI アプリケーションの実行とデバッグ
MAUI プロジェクトを作成または開くと、JetBrains Rider はさまざまなプラットフォームでプロジェクトを実行するために使用できる複数の異なる 実行/デバッグ構成を自動的に作成します。
アプリケーションの起動および実行方法を調整したい場合は、 新しい実行 / デバッグ構成を編集して作成できます。 IDE から MAUI アプリケーションを起動するとき、 ツールバーの対応するセレクターを使って、使用する構成を選択できます:

C# コードの任意の場所に ブレークポイントを設定し、デバッグモードでアプリケーションを実行します。 ブレークポイントに到達すると実行が一時停止し、 変数のインスペクション、 式の評価、 コードのステップ実行が可能です。
デバッグセッション中は、 XAML ホット再ロードを使用してアプリケーションを再起動せずに UI を更新することもできます。 エディターで XAML を変更すると、変更内容がターゲットデバイスにリアルタイムで反映されます。
プロファイル MAUI アプリケーション
macCatalyst を搭載した macOS または Windows 上でデスクトップアプリケーションを対象とする場合、 アプリケーションのプロファイリングを実行できます。 実行構成を選択し、 プロファイル オプションを使用してプロファイリングセッションを開始してください。

アプリケーションが稼働したら、スナップショットを取得してパフォーマンスのボトルネックを診断し、アプリケーションの中でリソースを大量に消費する部分を特定します。
Android 用 Logcat
Android アプリケーションの場合、 Logcat ツールウィンドウを使用して、物理デバイスまたは仮想デバイスからのすべてのデバイスログを表示できます。 これにより、アプリケーションの機能やパフォーマンスに間接的に影響を与える可能性のあるデバイスレベルの問題を診断できます。
MAUI アプリケーションを公開する
プロジェクトがデプロイに対応できるよう準備が整ったら、手動で公開するための .ipa などのプラットフォーム固有のアーカイブを作成できます。
JetBrains Rider は、 フォルダーに公開種類の実行構成を利用して、複数の公開プロファイルを維持し、ターゲットアーティファクトをビルドします。
Apple App Store 用のプロファイルをプロビジョニングする
Apple App Store に公開するプランがある場合は、署名プロファイリングをプロビジョニングする必要があります。 ソリューションエクスプローラー の MAUI プロジェクトを右クリックし、 Xcode で開く を選択します。
JetBrains Rider は Xcode プロジェクトを作成し、Xcode を起動して変更をウォッチします。 Xcode で、Apple 開発者証明書を使用して 署名と機能 の設定を構成します。 Xcode で変更を保存し JetBrains Rider に戻ると、変更内容は自動的に MAUI プロジェクトに同期されます。
MAUI アプリを公開する
MAUI プロジェクトを右クリックし、 公開 を選択します。
表示される 公開先 ポップアップで、公開構成を選択または作成します。 公開構成がまだない場合は、 ローカルフォルダー をクリックします。
既存の公開構成を選択した場合は、すぐに開始されます。 それ以外の場合は、公開プロファイルを構成できる 構成を編集 ダイアログが開きます。
ターゲットフレームワーク セレクタを使用して、ターゲットアーティファクトの種類を選択します。 署名 ID、最終アーティファクトの公開場所、ビルド構成などの追加オプションを設定します。
複数の公開プロファイルを維持する場合は、各構成に意味のある名前を付けます。

実行 をクリックします。 ビルドウィンドウにアーティファクトの作成状況が表示されます。 ビルドが成功すると、指定した場所にアーティファクトが作成されます。 その後、アーティファクトをターゲットプラットフォームのアプリケーションストアにアップロードできます。
ビルド結果とは関係なく、ソリューションの公開構成が保存されます。 これには 実行 / デバッグ構成ダイアログ () でアクセスできます。
ホット再ロード
次の表は、Rider の MAUI アプリで ホット再ロードが現在どのようにサポートされているかを示しています。
XAML | C# | |
|---|---|---|
Windows 上の Android シミュレータ / 物理デバイス | ||
Android シミュレータ /macOS 上の物理デバイス | ||
macOS 上の macOS アプリ | ||
macOS 上の iOS シミュレーター / 物理デバイス | ||
Windows 上の Windows アプリ |
macOS での Xcode 同期
macOS で .NET MAUI アプリケーションを開発する場合は、 リソースファイルを編集し、Xcode を使用してリソースをコードに接続するこ(英語)とをお勧めします。
.storyboard 、 .xib 、 .plist ファイルまたは .NET MAUI macios プロジェクトノードのコンテキストメニューを使用して、Xcode で開くことができます。
ファイルまたはプロジェクトがこれまでに Xcode で開かれていない場合、JetBrains Rider は次のように Xcode プロジェクトを生成します:
xcodeproj プロジェクト仕様( csproj に似ているが Xcode 用のプロジェクト記述子)が生成される
Objective C で
NSObject(フォーム、デリゲート、ビュー、コントロールなど)を継承したすべてのユーザタイプのソースファイルが生成されますすべてのリソース(イメージ、デザイナーファイル)がコピーされます
プロジェクト構造の準備が整うと、Xcode が自動的に起動し、リソースの編集に使用できるようになります。 Rider はフォーカスを受け取るたびに、変更 (既存のファイル、新しいファイル、削除されたファイルの編集) を検索し、これらの変更を .NET MAUI .NET プロジェクトに統合します。 ユーザータイプ (NSObject から継承) の .designer.cs 部分を変更し、変更されたすべてのリソースをコピーして戻します。
すべての Xcode 関連のイベントは、Xcode でリソースまたはプロジェクトを開くと表示される Xcode コンソール ツールウィンドウに出力されます。

動作原理
新しい .NET MAUI macios プロジェクトを作成するとき
JetBrains Rider は、対応する xcodeproj プロジェクト( pbxproj や他の必要なファイル)を、すべての必要な設定と構成を含めて obj\xcode サブディレクトリ内に作成します。
すべてのコンテンツファイル(ビュー、plist ファイル、イメージなど)のコピーがそのディレクトリに作成されます。
各
ViewControllerタイプごとに、JetBrains Rider はアクションとアウトレットを持つ objc クラスを生成します。生成されたプロジェクトは Xcode で自動的に開かれます。
Xcode で変更を加えてから Rider に切り替えると
変更されたすべてのコンテンツファイルが .NET プロジェクトにコピーされます。
設定が更新されます。
objc ファイルが解析され、 *.designer.cs ファイルが View Controller 用に再生成されます。 これらすべてのファイルについて、生成されたヘッダーが表示されます。
// WARNING // // This file has been generated automatically by Rider IDE // to store outlets and actions made in Xcode. // If it is removed, they will be lost. // Manual changes to this file may not be handled correctly.