C# blazor中的多个组件使用相同的标记

C# blazor中的多个组件使用相同的标记,c#,blazor,C#,Blazor,我现在正在玩blazor,只是为了测试它能做什么 我有一个主要项目,将作为最终的网站显示给用户。对于这些组件,我创建了一个类库,用于保存基于引导的组件,如表,它将呈现应用了引导类的表。 因为我最终会有多个网站,所以在另一个类库项目中也会有共享组件。这个项目还将有一个名为Table的组件,该组件将从另一个共享项目中呈现一个引导表,并提供额外的排序、分页、筛选等处理 我遇到的问题是,有一个命名冲突我无法解决 假设这些项目的最终网站名为Company.Website1,扩展表名为Company.Sha

我现在正在玩blazor,只是为了测试它能做什么

我有一个主要项目,将作为最终的网站显示给用户。对于这些组件,我创建了一个类库,用于保存基于引导的组件,如
,它将呈现应用了引导类的表。 因为我最终会有多个网站,所以在另一个类库项目中也会有共享组件。这个项目还将有一个名为
Table
的组件,该组件将从另一个共享项目中呈现一个引导表,并提供额外的排序、分页、筛选等处理

我遇到的问题是,有一个命名冲突我无法解决

假设这些项目的最终网站名为
Company.Website1
,扩展表名为
Company.Shared.Components
,另一个共享项目名为
Company.Shared.Components.Bootstrap

当我尝试在
Company.Shared.Components
中创建我的
-组件时,我得到以下错误

多个组件使用标记“Table”

我试着写了些什么,但后来发现了错误

找到具有意外名称“Table.Table”的标记元素。如果这是一个组件,请为其名称空间添加@using指令

我还尝试在没有任何机会的情况下为using指令添加别名

razor文件本身非常简单

@using Company.Shared.Components.Bootstrap.Table

<Table></Table>
@使用Company.Shared.Components.Bootstrap.Table

我想如果我使用第三方库,其中一些组件的名称与我的项目中已经存在的组件的名称相同,我会得到同样的错误。因此,必须有一个我目前无法看到的解决方法。

如果有多个组件共享相同的名称,您可以在标记中添加名称空间,以指定要使用的名称空间

所以你可以做:

<Company.Shared.Components.Table></Table>



来源:

Blazorise.Icon与
Blazorise.Icons.FontAwesome.Icon
之间存在此问题-导入了
Blazorise
Blazorise.Icons.FontAwesome
的任何地方都出现问题

最后,为了保持整洁,我继承了Blazorise.Icons.fontsawesome.Icon:

//in FAIcon.razor
@inherits Blazorise.Icons.FontAwesome.Icon
@{
    base.BuildRenderTree(__builder);
}
并使用

//in FAIcon.razor
@inherits Blazorise.Icons.FontAwesome.Icon
@{
    base.BuildRenderTree(__builder);
}