如何在编译时或在WebApplication导入时自动将所有RCL页面移至Pages/
的子文件夹,例如Pages/<module name>
?
我需要做到这一点是透明的,以便在RCL解决方案中,所有页面都在Pages/
中,但是经过编译后,它们都在Pages/<module name>
中。或者,它们是在Pages/
上编译的,但是当由WebApplication导入时,它们托管在Pages/<module name>
中。
是否存在一个项目级别设置,可以在编译页面之前添加一些文件夹名称?还是可以使用其他一些机制来达到相同的效果?
尝试的解决方案
我曾考虑过通过@page
剃刀指令向RCL页面本身添加路由选项,但决定反对,因为它必须分别处理每个页面,并且我需要一些更通用的方法来应用于所有页面RCL中的页面。
我研究了如何通过Startup.cs的ConfigureServices()
和Configure()
将RCL内容导入其他文件夹的方法,但是对于Conventions却没有成功。 PageRouteModel
和PageApplicationModel
约定都只能看到被覆盖的页面。还尝试使用ConfigureFilter
,但遇到了同样的问题。
试图在RCL的根_ViewImports.cshtml
中添加一些内容以应用某种目录偏移,但是我找不到关于可在此处使用的razor指令的良好文档。