.net core 两个同名组件-定义优先级

.net core 两个同名组件-定义优先级,.net-core,multi-tenant,blazor,.net Core,Multi Tenant,Blazor,我正在一个.NETCore3.1项目中开发一个多租户系统。我的想法是,我将有一个默认的Blazor应用程序,其中包含所有组件和razor页面。如果域是ABC.com而不是DEFAULT.com,则可以使用自定义组件和页面 我已经通过在blazor中编写自定义路由器解决了本例中的路由问题。我的问题是我的blazor core应用程序在这些位置有两个组件: 页面/组件/页眉.razor 页面/组件/Footer.razor 我有一个Pages/Index.razor,看起来像这样: @page

我正在一个.NETCore3.1项目中开发一个多租户系统。我的想法是,我将有一个默认的Blazor应用程序,其中包含所有组件和razor页面。如果域是ABC.com而不是DEFAULT.com,则可以使用自定义组件和页面

我已经通过在blazor中编写自定义路由器解决了本例中的路由问题。我的问题是我的blazor core应用程序在这些位置有两个组件:

  • 页面/组件/页眉.razor
  • 页面/组件/Footer.razor
我有一个Pages/Index.razor,看起来像这样:

@page ""
@using @MyApp.Pages.Components

<div class="page-wrap">
 <Header></Header>
   <div>This is the homepage.</div>
 <Footer></Header>
</div> 
@页“”
@使用@MyApp.Pages.Components
这是主页。
现在我要做的是这样的: 我在Tenants/test/Pages/Index.razor的不同位置找到了一个文件,代码如下:

@page ""
@using @MyApp.Pages.Components
@using @MyApp.Pages.Components
@using @MyApp.Tenants.Pages.Components

<div class="page-wrap">
 <Header></Header>
   <div>This is the child websites homepage.</div>
 <Footer></Header>
</div> 
@页“”
@使用@MyApp.Pages.Components
@使用@MyApp.Pages.Components
@使用@MyApp.Tenants.Pages.Components
这是儿童网站主页。
问题是Blazor无法确定是使用
MyApp.Pages.Components.Header
还是
MyApp.Tenants.Pages.Components.Header
。有没有办法告诉它使用特定文件夹(默认)中的blazor组件,除非我们在其他地方有Header.razor类,比如在租户中


我知道razor文件被编译成实际的类,这主要是破坏我的代码的原因,因为它无法确定应该在那里呈现哪个组件。是否有办法为此重载默认blazor行为?

如果所有租户都有自定义组件,为什么不在它们前面加上租户名称?i、 e.
ABC页眉
ABC页脚
如果所有租户都有自定义组件,为什么不在它们前面加上租户名称?i、 e.
ABC页眉
ABC页脚