带有 MatBlazor 2.8.0 的 .NET 5.0 中的 Blazor WebAssembly 应用程序 - 无法为 'MatBlazor.MatPortalHost' 类型的 属性 'PortalService' 提供值

Blazor WebAssembly App in .NET 5.0 with MatBlazor 2.8.0 - Cannot provide a value for property 'PortalService' on type 'MatBlazor.MatPortalHost'

我已按照 https://www.matblazor.com/ 的安装说明进行操作。

1.Add @using MatBlazor in main _Imports.razor

@using MatBlazor

2.Add 脚本部分到 index.html(头部部分)

<script src="_content/MatBlazor/dist/matBlazor.js"></script>
<link href="_content/MatBlazor/dist/matBlazor.css" rel="stylesheet" />

3.Add 向 Startup.cs

注册服务
services.AddMatBlazor();

4.Add MatPortalHost 组件到根组件 (App.razor),用于某些服务,如 MatDialogService、MatPortalService

<MatPortalHost></MatPortalHost>

启动时出错:

crit: Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100] Unhandled exception rendering component: Cannot provide a value for property 'PortalService' on type 'MatBlazor.MatPortalHost'. There is no registered service of type 'MatBlazor.IMatPortalService'. System.InvalidOperationException: Cannot provide a value for property 'PortalService' on type 'MatBlazor.MatPortalHost'. There is no registered service of type 'MatBlazor.IMatPortalService'.

事实证明 3.Add registration of service to Startup.cs 与 Blazor WebAssembly 应用程序不同。

BlazorWebAssemblyApp.Client 中将 builder.Services.AddMatBlazor(); 添加到 Program.cs Main 方法,然后一切正常。无需编辑 BlazorWebAssemblyApp.ServerBlazorWebAssemblyApp.Shared.

中的任何内容