Blazor共享组件未渲染

问题描述 投票:1回答:2

我有问题,我找不到解决方案。这个问题也许已经解决了几次,但是很难为我的星座找到一个可行的解决方案。

我正在使用Blazor wasm 3.2.0-preview3.20168.3'。我的目标是将组件移动到共享库中,以在项目中使用它。

问题是,如果将组件移到共享库中,则不会渲染我的组件,因此无法解析标签<alert><alert/>。浏览器显示<alert><alert/>

如果它们在主项目中,则一切正常。

在“ _Imports.razor”的主项目中,依赖项已导入

@using BlazingWebShared.Services
@using BlazingWebShared.Component

我的书架.csproj或多或少看起来像这样(不包括评论等):

<Project Sdk="Microsoft.NET.Sdk.Razor">

    <PropertyGroup>
        <TargetFramework>netstandard2.1</TargetFramework>
        <AddRazorSupportForMvc>true</AddRazorSupportForMvc>
    </PropertyGroup>

    <ItemGroup>
        <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="3.2.0-preview3.20168.3" />
        <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Build" Version="3.2.0-preview3.20168.3" PrivateAssets="all" />
        <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="3.2.0-preview3.20168.3" PrivateAssets="all" />
        <PackageReference Include="Microsoft.AspNetCore.Blazor.HttpClient" Version="3.2.0-preview3.20168.3" />
    </ItemGroup>
</Project>

有人知道我在做什么错吗?还是可以有人共享我可以用作蓝图的图书馆?

非常感谢您的时间和帮助。

shared-libraries blazor webassembly
2个回答
0
投票

您应该使用所有组件和资产创建一个Razor类库,并从Blazor应用程序中引用它。参见thisthis。您可以定义路由器可以访问的可路由组件,也就是页面组件。


0
投票

<AddRazorSupportForMvc>true</AddRazorSupportForMvc>

告诉我,在创建Razor类库(RCL)时,您选中了“页面和视图支持”。不用支票就换一个新的。带有或不带有该复选标记的项目设置都非常不同。除其他外,它将针对错误的平台,而不是标准的2.x内核3.x

screenshot

并且不要忘记,您还必须将.css甚至是.js文件从RCL导入到_Host.razor或Index.cshtml中。参见this answer

© www.soinside.com 2019 - 2024. All rights reserved.