剃刀组件无法在.NET标准库中正确编译

时间:2020-10-02 17:03:13

标签: blazor razor-component-library

我已将库转换为.NET Standard 2.0,成为Razor组件库:

我将SDK类型更改为Razor:

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

并将引用添加到Razor组件库

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Components" Version="3.1.8" />
    <PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="3.1.8" />
  </ItemGroup>

但是,当编辑组件时,我发现编译过程失败了。例如,它无法正确映射HTML标记中的@bind=..属性,并且Razor组件似乎无法正确编译。

1 个答案:

答案 0 :(得分:0)

这是由丢失的_Imports.razor文件引起的,如果直接创建Razor组件库,通常会创建该文件。这将正确的组件库带入Razor编译范围。在库的根目录中创建它。

内容至少应包含以下这一行:

@using Microsoft.AspNetCore.Components.Web

如果需要,还可以将其他名称空间纳入范围。