Blazor共享组件未呈现

时间:2020-04-05 11:06:12

标签: shared-libraries blazor webassembly

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

我正在使用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>

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

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

1 个答案:

答案 0 :(得分:1)

<AddRazorSupportForMvc>true</AddRazorSupportForMvc>

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

screenshot

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