🔖

Fluent UI Blazorのダイアログサービスを使ったアプリを発行すると動作しない場合の対策

2024/01/13に公開

内容

Fluent UI BlazorのダイアログサービスがBlazor WebAssemblyの発行プロセス中に未使用クラスがトリムされます。
これは、DialogServiceがコードによって参照されていないために起きます。

この対策方法はドキュメントにも記載されていますが、ローカル開発中は動作し、dotnet publishして初めて発覚しなおかつ気づきにくいので改めて記載しておきます。

対策1

何らかの方法でダイアログサービスへの参照を作っておく。

var = await DialogService.ShowDialogAsync<SimpleDialog>(simplePerson, parameters);
var temp1 = new SimpleDialog();

対策2

プロジェクトファイルにpubulishTrimmedプロパティーを設定しておく。

参考

https://learn.microsoft.com/ja-jp/aspnet/core/blazor/host-and-deploy/configure-trimmer?view=aspnetcore-8.0?WT.mc_id=DT-MVP-5004827

https://github.com/tomokusaba/FluentWizardSample/blob/master/BlazorApp26/BlazorApp26.csproj

Discussion