首页 > 解决方案 > 在 ASP.NET Core Web 应用程序(IdentityServer 项目)中使用共享库中的 Blazor 组件

问题描述

最近我创建了一个新的 Blazor Webassembly 项目,包括身份验证(个人用户帐户)和托管的 ASP.NET Core。这为我生成了 3 个项目,即:客户端(Blazor Webassembly)、服务器(身份验证内容所在的位置,使用 Identityserver - 看起来像使用 MVC / Razor 的 ASP.NET Core Web 应用程序模板)和一个共享项目。

我希望我的所有组件都可以轻松重用,因此我还创建了一个Razor Class Library我的(Blazor)组件所在的位置。

在这个共享库中,我创建了一些组件,我也在我的 Webassembly 项目中使用了这些组件,这一切都很好。

但是,我也想在 Server 项目中使用这些组件。然而,这并不容易。我使用此链接尝试了以下操作:https ://medium.com/@geobourno/bringing-blazor-in-an-existing-net-core-mvc-project-d605d9f9ebe8

  1. 我在服务器项目的文件中添加了services.AddServerSideBlazor();endpoints.MapBlazorHub();startup.cs
  2. 我在我的: 中添加了对blazor.server.js和的引用: <base href="/">_Layout.cshtml在此处输入图像描述
  3. 我添加了对共享组件库的引用
  4. 我不确定以下内容,在链接/教程中,他们要么添加对 Blazor 应用程序的引用(而我的实际上是 Razor 类库),要么在另一种情况下添加_Imports.razor文件。我选择了后者(创建一个_Imports.razor包含权限的文件usings
  5. 接下来,我在现有.cshtml文件中从共享库中添加了一个组件,如下所示:<component type="typeof(MarketingPage)" render-mode="ServerPrerendered" />以及在同一页面中对共享库的使用:@using PCS2.ComponentsLibrary.Index

在这些步骤之后有几个问题。

检查时我可以看到文件没有被加载:

在此处输入图像描述

这些 css 文件位于wwwroot我的组件类库中:

在此处输入图像描述

在此处输入图像描述

任何线索我怎样才能让它工作?

标签: c#asp.net-mvcidentityserver4blazor

解决方案


推荐阅读