asp.net core 2.0 把areas里面的模块独立出来,每个模块单独做个项目,这样对于模块比较多的多人合作开发的场景非常适宜,互相各不影响。
这些模块类似插件,最后要合并到一个主项目来,仅仅把个模块的dll注入还不行还得考views,这样主项目对各个模块插件是不可控的。
有什么办法不需要引入views重新生成主项目,主项目发布好了,把个模块的dll放进去就可以用的?
谢谢dudu大神回答,有一定参考价值,回去再试试razor视图看下可不得可以
我的问题可能没有描述的很清楚,我再说下我的想法。
web传统的信息管理项目在模块功能很多的时候,我们不想在一个项目里面多人开发,即使在一个项目里面使用了areas区分模块已经很清晰了,但毕竟在一个项目里面还是存在项目冲突,开发人员权限不好控制问题。
我的想法是建立一个web主项目,就包括一个登录页以及后台主框架界面。
让后把areas里面的模块全部单独立出去每个都建单独web项目,各个模块项目只包含自己的areas模块。
主项目发布之后模块项目可以无限扩展,不需要调整主项目,把各个子项目发布出来的dll放到主项目里面就可以了。
这种方式在我们之前的mvc4项目是没问题的,因为原来的方式views视图是要单独考的。
现在迁移到core 发现默认views已经是打包到dll里面了,但是一定要考到主项目里面重新发布下主项目才能找到对应的视图
将view 预编译不可以吗?
是编译的,但是在主项目里面运行的时候还得把各个模块的views考进来才可以,按理说dll里面都包括了views了但路由指定不到独立程序集里面的视图
一直以为asp.net core项目发布的时候就一个dll文件 发现视图编译的是另个文件,把这个dll文件也考进去就解决了,不需要拷贝views到主项目发布了
博主请问下,将相关dll拷到发布目录就好了吗,我没有建对应的area文件夹,然后页面上访问不到我area里面的controller