11月11日、ついにVisualStudio 2026が正式リリースされました
色々変更点はあるかと思いますが、今回はビルド時間にのみフォーカスしていきます
.NET MAUIのビルドが遅すぎる
VisualStudio2022でMAUI(BlazorHybrid)を使ってアプリ制作をしていました
これ日本で僕だけかもしれません
そんくらい日本語ドキュメントが少ない
何を隠そう、MAUIには圧倒的な欠点がありました
ビルド時間が長い
そんでホットリロードもうまく動かないことが多い(特にBlazorHybrid)
1行変えて見た目の違いを見たいな~って時にもビルドをして、めちゃくちゃ待ってから確認する
待つから別のことしてたら、何を確かめたいか忘れてるなんてこともありました
開発効率を著しく低下させるレベルの待ち時間があったのです
※具体的な時間は比較時に載せます
一応言いますが、自分のPCはそこそこハイスペックです
CPUはi9でメモリは32GB、ドライブはM.2 SSD
普通にハイエンドと言っていいと思います
そんなPCをもってしても圧倒的に遅いMAUIのビルド時間が2026でどれほど改善されたのか見ていきましょう
比較
条件として
- 全く同じコード、プロジェクト構成
- ソリューションのビルドを2回、実行1回
- ビルド対象はAndroidのみ
で行いました
その他設定でビルド時間に関するようなものは特にいじっていません
ビルドの二回目は一回目のキャッシュを使って行われるので差分がない場合はほとんどかかりませんが一応検証
実行したときの時間にはエミュレータ起動やデプロイ諸々含まれています
なお実行時の時間はストップウォッチで計ったので制度低いです 悪しからず
結果
| IDE | ビルド一回目 | ビルド二回目 | 実行 |
|---|---|---|---|
| VisualStudio 2022 | 02:08.046 | 00.063 | 23.81 |
| VisualStudio 2026 | 00:41.900 | 00.037 | 09.32 |
なんと半分以下!!!!!!!
キャッシュを使っている二回目のビルドでも差があったことは驚きです
実行までにかかる時間にも差が出たということはビルド以外にも改善があったようです
これはかなりMAUIでの実装が現実的になってきました
2分かかるってマジでなんなんだよ
おまけ
2022と2026を切り替えて実行すると実行したアプリが即クラッシュしてデバッグ終了してしまいます
その場合はbinとobjを消すと治りました
なんか参照しているDLLのバージョンが2022と2026で違うようで、なぜかその設定を引き継いでしまう?
あんまよくわかってないです