問題 §
Blazorは.NET6 Preview 4で。AOTで直接WebAssemblyにビルドできるはずだ。しかし、ビルドに失敗する。
プロジェクトに<RunAOTCompilation>true</RunAOTCompilation>は追加してある。
足りないと言われるモジュールをnugetなどで入れることはできない。
原因 §
環境の準備不足。
解決 §
1) 事前に以下のコマンドでAOTビルドのワークロードをインストールしておく。
- dotnet workload install microsoft-net-sdk-blazorwebassembly-aot
2) 環境変数PYTHONUTF8=1を追加しておく
Visual Studioを普通に使っている場合はVisual Studio起動前にシステムレベルで環境変数を追加しておく必要がある。(ビルド時にあとから追加することはできない)
3) 配置を行う
AOTコンパイルはとても時間が掛かる。配置を行うまでは実行されない。
問題2 §
ビルドはできたが配置して実行できない。
原因 §
不明
解決 §
ローカルでの実行には成功していないが、AzureのApp Serviceに発行した場合は動いた。
問題3 §
AzureのApp Serviceに発行にしようとしたら.NET 6は対応していないと警告される。
原因 §
確かに.NET6のアプリでかつAzureは.NET 6は未対応だから。
解決 §
無視して配置して良い。どうせ.NET 6に依存したコードが動くことはない。(明示的に入れない限り)
動くのはWASMのコードだけ。