【问题标题】:Blazor WebAssembly App in .NET 5.0 with MatBlazor 2.8.0 - Cannot provide a value for property 'PortalService' on type 'MatBlazor.MatPortalHost'.NET 5.0 和 MatBlazor 2.8.0 中的 Blazor WebAssembly 应用程序 - 无法为类型“MatBlazor.MatPortalHost”的属性“PortalService”提供值
【发布时间】:2021-03-10 16:32:39
【问题描述】:

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

1.在main _Imports.razor中添加@using MatBlazor

@using MatBlazor

2.将脚本部分添加到index.html(head部分)

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

3.在Startup.cs中添加服务注册

services.AddMatBlazor();

4.将 MatPortalHost 组件添加到根组件(App.razor),用于一些服务,如 MatDialogService、MatPortalService

<MatPortalHost></MatPortalHost>

启动时出错:

暴击: Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100] 未处理的异常呈现组件:无法为类型“MatBlazor.MatPortalHost”的属性“PortalService”提供值。那里 没有“MatBlazor.IMatPortalService”类型的注册服务。 System.InvalidOperationException:无法为属性提供值 “MatBlazor.MatPortalHost”类型上的“PortalService”。没有 'MatBlazor.IMatPortalService' 类型的注册服务。

【问题讨论】:

    标签: c# blazor blazor-webassembly matblazor


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢,这正是我的 Blazor WASM 应用所需要的!
    猜你喜欢
    • 2021-04-07
    • 2021-03-10
    • 2022-12-15
    • 2023-03-14
    • 2015-10-14
    • 2022-12-19
    • 2020-09-16
    • 1970-01-01
    • 2021-02-25
    相关资源
    最近更新 更多