rksoftware

Visual Studio とか C# とかが好きです

VM 上の Windows 上に MAUI 環境を構築する (maui-check で)

今日は VM 上の Windows 上に maui-check で MAUI 環境を構築してみたいと思います。
VM 上の Windows については以前のこちらを。

■ .NET のダウンロード & インストール

MAUI の環境を構築するために maui-check をインストールする (※1) のですが、maui-check のインストールには .NET が必要です。
そこでまずは .NET をインストールしていきます。
※1: 必須ではありません。一般的には Visual Studio を適切なワークロードを選択してインストールすれば環境は整います。しかし maui-check のような環境の確認と整っていなければ整えてくれるツールでの環境構築は未来です。せっかく .NET の世界にも未来があるのですから、未来に生きましょう。未来に行くなら MAUI を待て。

次のサイトからインストーラーをダウンロードします。
https://dotnet.Microsoft.com/ja-jp/download


ダウンロードしたインストーラを実行してインストール。



インストール後の確認。

> dotnet --info

インストールできています。

簡単ですね。

■ maui-check のインストール

maui-check は dottnet tool なので dotnet コマンドでインストールします。

dotnet tool install -g redth.net.maui.check


インストールできました。簡単ですね。

■ maui-check の実行

dotnet tool はツールの名前をタイプ(+Enter キー押下)することで実行(※1)できます。
※1: コマンドラインで実行ということです。

maui-check

別 Window で maui-check が実行されます。
Java がインストールされていないことを検出してくれました。検出するだけでなくインストールもしてくれると言って来てくれます。お言葉に甘えて y を選択しましょう。

本来ならここで普通に成功するはずですが、今回は失敗しました。失敗した理由に timeout と出ています。
今回は実験としてダウンロード中にネット接続を切ってみました。そういったトラブルでも適切なエラーを教えてくれるのが maui-check の素敵なところです。なかなかできることではないですよ、これは。

もう一回。今度はネット環境を切断せずに。
Java のインストールに成功しました。
続けて Visual Studio がインストールされていないことも検出してくれています。しかし、インストールはしてくれません。Visual Studio は後で自分でインストールすることにします。
そして、Android SDK もインストールをお願いします。

インストールされていきます。


Anrdoid エミュレーター。お願いします!


エミュレーター、作成してくれませんでした。Visual Studio を使えと言われたので、後でやはり Visual Studio をインストールします。

y を選択してもエミュレーターを作成してくれませんでしたが、また y/n 聞かれます。y を押す限り無限に繰り返されそうです。n を選択して先へ進めます。

.NET SDK ワークロード、y。

一通り終わっても問題が検出されましたで終わってしまいます。本来であればここで、環境、完全に構築した! と言われたかったのですが現時点ではダメなようです。 気になる点としては直近で MAUI 自体のバージョンが上がっていますが maui-check はまだ上がっていなかった様子という点があります。この記事が読まれている今は行けるようになっているかもしれません。試してみてください。
とりあえず今だめでも今後行けるようになるでしょう。期待。

■ Visual Studio ダウンロード & インストール

Visual Studio をインストールします。実は Visual Studio のインストールは意外と難しいです。
普通に Visual Studio で検索すると Visual Studio の日本サイトばかりがヒットします。しかしここから 目的のエディションの Visual Studio をインストールすることが私にはいつもできないのです。

オススメはリリースノートのサイトです。ここからなら私はいつも簡単に目的のエディションの Visual Studio をインストールできています。
https://docs.microsoft.com/en-us/visualstudio/releases/2022/release-notes-preview

ちなみにインストールする Visual Studio は Preview 版です。残念ながら MAUI はまだ正式リリースになっていません。



ダウンロードしたインストーラーを実行。


ワークロードで、 .NET によるモバイル開発 を選択してインストール。



インストール完了。簡単ですね。

ここで実験のため maui-check を実行。

問題なしにはなってくれませんでした。

試しに書かれているコマンドを手動実行してみると。

ダメでした。ダメと言われた anroid-aot を外してみても。

ダメでした。
とりあえずインストールされているワークロードを確認してみます。

dotnet workload list

必要なものは(全部?)インストールされています。

■ Visual Studio を実行



ソシューションを作成。テンプレートを 「MAUI」 で検索して作成。

発行元 Xamarin。以前 Xamarin やってた時に何度も見ました。何度もインストールしたりなどしていたので何度も。
開発していれば発行元は異なっても良く見るやつですね。
アクセスを許可する します。

Visual Studio が開きます。

Visual Studio で出来上がったプロジェクトをビルドします。

ビルド成功。やったね!

良くある環境構築はここまでが大変なものですが、今回は maui-check のおかげで簡単でした。
今回は maui-check のおかげで簡単でした。
今回は maui-check のおかげで簡単でした。

■ Android エミュレーターで実行

ビルドに成功したのでデバッグ実行してみます。
きちんと開発をするなら実機デバッグが必要ですが、今回は開発環境構築ですし、その中で Android エミュレーターも作ってくれていますので。それにちょっとした確認で Android エミュレーターが使えると色々と捗りますからね。

ここまでで整えた状態で Visual Studio で実行をするだけで Android エミュレーターにアプリが配置されデバッグ実行という流れになるハズです。しかし実際にはここで足踏みです。

こんなメッセージが出て......


配置に失敗します。エミュレーターの Android も起動していません。

デバッグ実行だと配置に失敗したので、デバッグ実行でなく単独で Android エミュレーターを起動してみましょう。

メニュー > ツール > Android > Android Device Manager...


開いた Manager で、

Start


起動失敗! 無念です。

ここからメッセージにしたがって仮想マシン上の Hyper-V を有効にしていきます。

■ Hyper-V 上の Hyper-V を有効にする

Hyper-V はデフォルトで機能が有効になっていません。

まずはホストマシン上でコマンドを実行し、仮想マシンの仮想化機能を有効にします。
管理者として実行する点に注意してください。

続いてゲストマシンの Windows で Hyper-V 機能を追加します。
コマンドで実行してしまう方が多いと思いますが、GUI から開く場合には以前と少しメニューの位置が変わっている気がしますので注意してください。

スタートボタン 右クリック > 設定

「オプション機能の追加」 で検索。

Windows のその他の機能

「Hyper-V」ON して OK

適用が始まり......

VM を再起動。

■ もう一度 Android エミュレーターで起動

VM を再起動後、もう一回 Android エミュレーターの起動を試します。

このメッセージは継続して出ます。気にする必要はないので OK

起動成功。やったね!

■ もう一度 Android エミュレーターで実行

Android エミュレーターが起動したので、配置して実行します。

Visual Studio でデバッグ実行。

おめでとうございますありがとうございます! 実行できました。

[ おまけ ] Android エミュレーターが起動しなくなったら

今回試している最中に、Android エミュレーターを起動したり閉じたりしていると Android エミュレーターが起動しなくなることがありました。

そんな時はこれ。正しいのかは分かりませんがプロセスを終了したらまた起動するようになりました。

■ 簡単ですね

MAUI の開発環境構築。一部注意点がないわけではないですが、とてもシンプルで失敗しないようになっています。
これなら誰でも気軽に始められますね。素晴らしい。