.NET Conf 2021 にて 「.NET MAUI Preview 10 がリリースされてるでー」という紹介があったので、やってみます。
そういえば、前回試したのは Preview 4 でした。だいぶ時が経っているので色々と準備が必要ですね。前回の記事も貼っておきます。
準備
Visual Studio 2022 17.1 Preview 1 が必要みたいなので、導入します。やり方は .NET Blog にかかれているので参考にしてみてください。
構成に MAUI を追加します。
あとはダウンロード&インストールですね。
ブログには書かれていませんが、CLI にてセットアップが必要です。.NET 6 を導入していない場合は先にこちらからセットアップしてください。私の環境では Preview 4 のまま放置していたため、更新が必要でした。
最新版をインストールします。
dotnet tool install -g redth.net.maui.check
やはり 0.4.2 だったみたいですね。
あとは下記コマンドを実行して、必要なものをセットアップしていきます。このツールの良いところは、MAUI環境を構築するのに必要なものを持ってきてくれる点ですね。
maui-check
足りないものがあるので、y を入力して実行。
“Congratulations, everything looks great!” と表示されれば準備完了です。念の為もう一度チェックをかけて、同じように表示されるかを確認すると良いと思います。
Visual Studio でプロジェクト作成してみたけど…
.NET MAUI App を選択して作成します。
ここで「あれ?6.0.0-preview.4.*
ってなっとるやん」と思いますが、私も混乱しています。ここを preview.10.*
とかにすると参照エラーを起こすので、このままにして起動します。(この後動かしてみますが、やっぱり古いままでした。)
WinUI3 を使っているみたいですが、WinUI3.csproj
に記述されているバージョンが古いので合わせます。
<PackageReference Include="Microsoft.ProjectReunion" Version="[0.8.0]">
競合エラーは消えたみたいですが、なんか色々エラーが掘り起こされました。
一旦、WinUI3 のほうは保留します。Android の方は動かせそうだったのですが…
AndroidManifest.xml が悪さしてるみたいです。”VersionCode 1.0 is invalid. It must be an integer value. ” ということで、整数値じゃないとだめみたいなので、整数値に変更します。
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.companyname.MauiApp1" android:versionCode="1.0" android:versionName="1.0.0">
の部分にて、android:versionCode="1.0"
となっているので、これを android:versionCode="1"
にします。
これで実行すると動かせます。
でもこれって MAUI preview 10 じゃなくて 4 のやつじゃね?と腑に落ちない結果になりました。
dotnet コマンドでプロジェクト作成してみたら…
Visual Studio ではなぜか MAUI preview 4 になってしまうので、CLIから作ってみました。
dotnet new maui
すると
テンプレート ".NET MAUI App" が正常に作成されました。 テンプレートパッケージ 'Microsoft.Maui.Templates::6.0.100-preview.4.634' の更新プログラムを使用できます。 パッケージを更新するには、以下を使います: dotnet new --install Microsoft.Maui.Templates::6.0.101-preview.10.2068
と表示されました。「おやおや?そもそもテンプレートパッケージが古かったのでは?」と思い、パッケージの更新をしてみました。
これで古いテンプレートが削除されたみたいです。(この辺は Visual Studio が自動でやってくれればなぁと思いつつ。)
ここで一度、Visual Studio を起動してプロジェクトを作ってみました。
「テンプレート新しくなっとるやんけーー!」
「バージョンアップされとるやんけーー!」
ということで、dotnet コマンドを使用しないと Visual Studio のプロジェクトテンプレートも変更されないみたいですね。ともあれ、プロジェクトテンプレートが更新されたのでもう一度トライします。
Visual Studio でリトライ
新しくなったテンプレートを起動した直後は色々エラーが表示されますが、リビルドすると直ります。
ホットリロードもできますね。Android でも動かせます。
というわけで、.NET MAUI Preview 10 を Windows と Android で動かせました。
.NET MAUI Preview 10 以前のバージョンで動かしていた方は、dotnet コマンドを使用して古いプロジェクトテンプレートを削除してからプロジェクト作成しましょう。
dotnet new --install Microsoft.Maui.Templates::6.0.101-preview.10.2068
詳細はこちらから確認してみてください。