Windows、macOS、または Linux でネイティブのクロスプラットフォーム .NET MAUI アプリの開発を開始するには、「インストール手順」に従って最新の Visual Studio Code をインストールします。
前提条件
iOS 用の .NET MAUI アプリをビルド、署名、デプロイするには、次のものが必要です:
インストール
.NET MAUI アプリを作成するには、最新の Visual Studio Code をインストールする必要があります。
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 インストーラーの使用方法については、こちらを参照してください。
Linux 上では、スクリプトでのインストール手順を使用してインストールします。
.NET MAUI ワークロードをインストールします。
Windows 上では、Visual Studio インストーラーを使用してインストールしていない限り、ターミナル内で次のコマンドを実行します。
dotnet workload install maui
macOS 上では、ターミナル内で次のコマンドを実行します。
sudo dotnet workload install maui
Linux 上では、ターミナルで次のコマンドを実行します。
dotnet workload install maui-android
Visual Studio Code 内で .NET MAUI アプリをデバッグするには、開発マシンのオペレーティング システムに関連する有効なターゲット プラットフォームが必要です。 無効なターゲット プラットフォームを含めると、そのプロジェクトをビルドできなくなります。 ターゲット プラットフォームは、アプリのプロジェクト ファイル (.csproj) の中で管理できます。
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net8.0-android;net8.0-ios;net8.0-maccatalyst</TargetFrameworks>
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net8.0-windows10.0.19041.0</TargetFrameworks>
オペレーティング システム |
サポート対象のターゲット プラットフォーム |
Windows |
Windows、Android |
macOS |
Android、iOS、macOS |
Linux |
Android |
iOS と macOS
Visual Studio Code で iOS または macOS ターゲットにデバッグするには:
- 使用している .NET MAUI のバージョンで必要な Xcode のバージョンをインストールします。 詳細については、「リリース バージョン」を参照してください。 最新の安定版 Xcode リリースは、Apple App Store からダウンロードできます。
- ターミナルで
xcode-select --install
を実行して、Xcode コマンド ライン ツールを取得します。
- 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 拡張機能を設定するときに問題が発生する可能性があります。 拡張機能に関連するエラーの詳細を表示するには、[出力] ウィンドウ (Ctrl/コマンド + Shift + u) に移動し、ドロップダウンで [.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 で C# の実行構成を使用していることを再確認します。
- 以前のバージョンの .NET を使用している場合、C# デバッガーは .NET MAUI アプリではサポートされていません。 従来の .NET MAUI デバッグ構成を使用する場合は、拡張機能の設定 [MAUI]> [構成]> [実験的] >[VSDbg を使用する] をオフにします。
- ターミナルからコマンド ライン ビルドを試して、エラーがコードで発生しているのか、.NET MAUI 拡張機能で発生しているのかを確認します。 たとえば、
dotnet build -f:net8.0-android
を実行することで、Visual Studio Code の外部で Android ビルドが成功するかどうかを確認できます。 このビルドが成功した場合は、問題を報告してください。
既知の制限事項
- 現時点では、IntelliSense のターゲット フレームワークを切り替えることはできません (.csproj ファイルに一覧表示されている最初のターゲット フレームワークの構文のみが強調表示されます)。 この機能は現在開発中です。 他のターゲット (iOS ではなく Android など) の構文の強調表示を取得するには、プロジェクト ファイル内のターゲット フレームワークを並べ替えることができます。
- .NET ホット リロードは現在、C# 開発キットでプレビュー段階です。
この新しいエクスペリエンスを引き続き構築するため、ほかに追加を希望する機能について、フィードバックをお寄せください。
フィードバックを提供する
新しい問題や提案を提出する前に、「C# Dev Kit FAQ」を読み、既存の既知の問題を確認してください。 Visual Studio Code 内から [ヘルプ]> [問題の報告] ダイアログを通じて、提案や問題を提出できます。 [拡張機能] を選択し、ドロップダウンで [.NET MAUI 拡張機能] を選択していることを確認してください。