.net core 将Razor页面拆分为子项目,使其模块化

.net core 将Razor页面拆分为子项目,使其模块化,.net-core,razor-pages,.net Core,Razor Pages,我试图找到一种方法,将razor pages项目分解为多个项目,使其模块化 我的想法是,我希望将与模块相关的功能隔离到不同的项目中,而不是让单个项目管理所有模块。基本上,我在我的API项目中遵循一个垂直切片干净的体系结构,我想在razor页面中实现同样的功能 我想象的结构如下: 核心razor页面库项目,其中将包含布局、任何共享的局部视图和资源 每个模块的razor pages库项目将包含与模块相关的文件 主要的razor页面web项目将引用每个模块项目,并将包含一些一般视图(如隐私政策等)

我试图找到一种方法,将razor pages项目分解为多个项目,使其模块化

我的想法是,我希望将与模块相关的功能隔离到不同的项目中,而不是让单个项目管理所有模块。基本上,我在我的API项目中遵循一个垂直切片干净的体系结构,我想在razor页面中实现同样的功能

我想象的结构如下:

核心razor页面库项目,其中将包含布局、任何共享的局部视图和资源

每个模块的razor pages库项目将包含与模块相关的文件

主要的razor页面web项目将引用每个模块项目,并将包含一些一般视图(如隐私政策等),并将生成最终结果

我这里有一个不起作用的例子,只是为了说明我脑海中的结构

问题是,我在网上找不到任何可以指导我如何将razor pages项目拆分为模块的资源,我甚至不确定这是否可行


以前有人试过吗?如果是的话,你能给我举一个有用的例子吗?

经过进一步的挖掘,我找到了,这篇文章碰巧发表在2021年1月18日,也就是我提出问题差不多一个月后

通过阅读本文,它实际上为我提供了我所寻求的解决方案,现在我可以很容易地将我的razor页面在项目之间进行拆分

诀窍是使用
csproj
Microsoft.AspNetCore.App
中的
AddRazorSupportForMvc
指令作为
框架参考

基本上,使其工作的最低要求是:


net5.0
真的
不过,我还是建议你读这篇文章,它很有趣