macOS でネイティブのクロス プラットフォーム .NET MAUI のアプリ開発を開始するには、インストール手順に従って Visual Studio 2022 for Mac 17.6 をインストールします。
前提条件
iOS または macOS 用の .NET MAUI アプリをビルド、署名、デプロイするには、以下が必要です。
インストール
.NET MAUI アプリを作成するには、最新の Visual Studio for Mac が必要です。
Visual Studio 2022 for Mac をインストールするか、既存のインストールを変更して、次のワークロードがインストールされていることを確認します。
- .NET
- .NET MAUI
- Android
- iOS
重要
Visual Studio 2022 for Mac の新規インストールでは、.NET MAUI ワークロードを選択すると、.NET MAUI の開発に現在必要な Android ワークロードと iOS ワークロードが自動的に選択されます。
スタンドアロン インストーラーを使用して .NET 8 を インストールします。
.NET 8 のインストールが完了したら、ターミナルで dotnet workload install maui
を実行します。
重要
Visual Studio for Mac を .NET 8 で使用するには、Visual Studio > [環境設定] > [その他] > [プレビュー機能] > [インストールされている場合は .NET 8 SDK を使用する (再起動が必要)] チェックボックスを有効にします。
企業環境でのインストール中にネットワークに問題が発生した場合は、ファイアウォールまたはプロキシの背後へのインストールの指示を確認してください。
ファイアウォールまたはプロキシ サーバーの内側にインストールする
ファイアウォールの内側に Visual Studio for Mac をインストールするには、ソフトウェアに必要なツールや更新プログラムをダウンロードできるように、特定のエンドポイントにアクセスできるようにしておく必要があります。 必要なエンドポイントにアクセスできるようにネットワークを構成する方法の詳細については、「ファイアウォールまたはプロキシ サーバーの内側に Visual Studio for Mac をインストールして使用する」をご覧ください。
Note
Visual Studio Code での .NET MAUI のサポートはまだプレビュー段階です。 お試しいただき、フィードバックを共有してください。
Visual Studio Code と .NET MAUI 拡張機能をインストールする
Visual Studio Code をインストールします。
[拡張機能] タブで、".NET MAUI" を検索し、.NET MAUI 拡張機能をインストールします。 .NET MAUI 拡張機能は、.NET MAUI 拡張機能の実行に必要な C# 開発キットと C# 拡張機能を自動的にインストールします。
Note
.NET MAUI 拡張機能には、C# 開発キットとプレリリース C# 拡張機能が必要です。 .NET MAUI 拡張機能を使用するには、C# 開発キットにサインインする必要があります。 C# 開発キットとその拡張機能ファミリの詳細については、このブログ投稿をご覧ください。
.NET と .NET MAUI のワークロードをインストールする
.NET 8 をインストールします。
Windows 上では、Visual Studio インストーラーを使って .NET と .NET MAUI のワークロードのインストールを管理することをお勧めします。 Visual Studio インストーラーの使用方法については、こちらを参照してください。
.NET MAUI ワークロードをインストールします。
Windows と macOS 上では、ターミナルで次のコマンドを実行します。
dotnet workload install maui
Linux 上では、ターミナルで次のコマンドを実行します。
dotnet workload install maui-android
Visual Studio Code で .NET MAUI アプリをデバッグするには、開発マシンのオペレーティング システムで有効なターゲット プラットフォームが必要です。
オペレーティング システム |
サポート対象のターゲット プラットフォーム |
Windows |
Windows、Android |
macOS |
Android、iOS、macOS |
Linux |
Android |
iOS と macOS
Visual Studio Code で iOS または macOS ターゲットにデバッグするには:
- 使用している .NET MAUI のバージョンで必要な Xcode のバージョンをインストールします。 詳細については、「リリース バージョン」を参照してください。 最新の安定版 Xcode リリースは、Mac App Store からダウンロードできます。
- ターミナルで
xcode-select --install
を実行して、Xcode コマンド ライン ツールを取得します。
Android
Visual Studio Code で Android ターゲットをデバッグするには:
- Microsoft OpenJDK 17 をインストールします。
- 次のいずれかの方法で Android SDK をインストールします。
- (推奨) 新しい .NET MAUI プロジェクト (
dotnet new maui
) を作成し、InstallAndroidDependencies ターゲットを使います。
- Visual Studio 経由でインストールします (Windows のみ)。
- Android Studio 経由でインストールします。
- Linux 上で任意のパッケージ マネージャーを使ってインストールします。
トラブルシューティング
Visual Studio Code の .NET MAUI 拡張機能を設定するときに問題が発生する可能性があります。 以下のトラブルシューティング手順を実行しても問題が解決しない場合は、問題を報告してください。
プロジェクトの作成
新しいプロジェクトを作成しようとして、エクスプローラーが無限ループでポップアップし続ける場合は、空のフォルダーを選択していない可能性があります。 隠しファイルや隠しフォルダーがないことを確認し、新しいフォルダーを作成するか、コマンド ラインから dotnet new maui
を使用して .NET MAUI アプリを作成します。
InstallAndroidDependencies ターゲットの使用
.NET 8 には、Android 環境の設定に役立つビルド ターゲットがあります。 ターミナルで次のコマンドを実行してマシンを構成し、Android 環境を設定します。
dotnet build -t:InstallAndroidDependencies -f:net8.0-android -p:AndroidSdkDirectory="<AndroidSdkPath>" -p:JavaSdkDirectory="<JavaSdkPath>" -p:AcceptAndroidSDKLicenses=True
上記のコマンドでは:
AndroidSdkDirectory="<AndroidSdkPath>"
: Android の依存関係を、指定した絶対パスにインストールするか更新します。
- Windows: 推奨される AndroidSdkPath は
%LOCALAPPDATA%/Android/Sdk
です。
- macOS: 推奨される AndroidSdkPath は
$HOME/Library/Android/sdk
です。
JavaSdkDirectory="<JavaSdkPath>"
: 指定した絶対パスに Java をインストールします。
AcceptAndroidSDKLicenses=True
: 開発に必要な Android ライセンスを受け入れます。
Android SDK または Java SDK が見つからなかったというエラーが発生する
- Ctrl + Shift + P キーまたは Cmd + Shift + P キーを押してコマンド パレットを開き、
.NET MAUI: Configure Android
コマンドを検索します。 「Android SDK パスの設定」と「Android JDK パスの設定」の両方を選択し、それぞれのインストールを指していることを確認します。
- Android SDK フォルダーには、
build-tools
、cmdline-tools
、platform-tools
などのサブフォルダーが必要です。
- Java OpenJDK フォルダーには、
bin
、lib
などのサブフォルダーが必要です。
- Windows では、Visual Studio 経由でインストールすると、Java SDK が
C:\Program Files\Microsoft\
にインストールされ、Android SDK が C:\Program Files (x86)\Android\android-sdk
にインストールされます。
JAVA_HOME
環境変数を有効な Java OpenJDK パスに設定します。
ANDROID_HOME
環境変数を Android SDK パスに設定します。
- インストールされている Android 依存関係の最小バージョンを確認します。
- build-tools >= 34.0.0
- cmdline-tools == 11.0
- platforms;android-34*
- .NET 8: platform-tools = 34.0.5
Android ライセンスが受け入れられないというエラーが発生する
管理者特権のコマンド プロンプトまたはターミナルで、Android SDK の cmdline-tools/latest/bin/
フォルダーに移動し、CLI プロンプトに従って sdkmanager --licenses
を実行します。
Android の依存関係がソリューション エクスプローラーに読み込まれていないが、アプリが正常にビルドされる
Windows で %APPDATA%
にインストールする場合、これは既知の問題であり、今後のリリースで修正される予定です。
iOS/Xcode のセットアップ
- Xcode が見つからないというエラーが発生した場合は、ターミナルで
xcode-select --install
を実行し、xcode-select -p
が Xcode のインストールを指しているか確認します。
- 問題が解決しない場合は、Xcode 自体を開いて、正しく読み込まれていることを確認します。 Xcode を開いたら、[Xcode]> [設定]> [場所] に移動し、"コマンド ライン ツール" フィールドが正しい Xcode を指していることを確認します。
- iOS/macOS アプリをデプロイする際の既知の問題があり、ビルドを 2 回実行する必要が生じる場合があります。 この問題は今後のリリースで修正される予定です。
問題のデバッグ
- デバッグは、複数の理由で開始できない場合があります。 [出力] ウィンドウに明らかなエラーがない場合は、まずは Visual Studio Code で「.NET MAUI」実行構成を使用していることをもう一度確認します。
- ターミナルからコマンド ライン ビルドを試して、エラーがコードで発生しているのか、.NET MAUI 拡張機能で発生しているのかを確認します。 たとえば、
dotnet build -f:net8.0-android
を実行することで、Visual Studio Code の外部で Android ビルドが成功するかどうかを確認できます。 このビルドが成功した場合は、問題を報告してください。
既知の制限事項
この拡張機能はまだ早期プレビュー段階であるため、いくつかの既知の制限があります。 この新しいエクスペリエンスを引き続き構築するため、ほかに追加を希望する機能について、フィードバックをお寄せください。
- XAML 編集機能は非常に軽量で、基本的な構文の強調表示とオートコンプリートを利用できます。 今後のリリースで XAML エクスペリエンスを向上させる方法について検討しています。
- 現時点では、IntelliSense のターゲット フレームワークを切り替えることはできません (.csproj ファイルに一覧表示されている最初のターゲット フレームワークの構文のみが強調表示されます)。 この機能は現在開発中です。
- XAML と .NET ホット リロードは現在サポートされていません。
- この拡張機能は、最新の iOS と Xcode ベータ版でまだ完全にはテストされていません。
この新しいエクスペリエンスを引き続き構築するため、ほかに追加を希望する機能について、フィードバックをお寄せください。
フィードバックの送信
新しい問題や提案を提出する前に、「C# Dev Kit FAQ」を読み、既存の既知の問題を確認してください。 Visual Studio Code 内から [ヘルプ]> [問題の報告] ダイアログを通じて、提案や問題を提出できます。 [拡張機能] を選択し、ドロップダウンで [.NET MAUI 拡張機能] を選択していることを確認してください。