我正在处理 Razor Pages 项目。本方案由多个项目组成,即“Server”,管理依赖注入(inject)的服务,是一个启动项目。包含索引页面和共享组件的“应用程序”,以及作为站点独立区域的多个“模块”项目。我需要向该解决方案添加新模块,并带有登陆页面。我创建了新项目,在解决方案中设置了对其他项目的所有引用,并在那里创建了一个带有“@page”/moduleC“”行的页面。但是,如果我运行解决方案并转到该页面 - 它显示 404 页面。相同的配置适用于其他模块。是否需要一些额外的操作来允许在多个项目之间进行路由?
最佳答案
https://digitteck.com/frontend/blazor/blazor-page-in-another-assembly/
Router 组件负责映射 razor 页面。
您将需要使用 AdditionalAssemblies 参数添加其他程序集。
<CascadingAuthenticationState>
<Router AppAssembly="@typeof(Program).Assembly" AdditionalAssemblies="@_extraAssemblies">
<Found Context="routeData">
...
</Found>
<NotFound>
...
</NotFound>
</Router>
</CascadingAuthenticationState>
@code{
private List<System.Reflection.Assembly> _extraAssemblies = new List<System.Reflection.Assembly>()
{
typeof(OtherProject.SomeObjectInOtherProject).Assembly,
};
}
关于c# - 应用找不到位于另一个项目中的 Razor 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63428712/