ASP.NET MVC将视图编译到单独的程序集中

4
我正在创建一个解决方案,其中有几个项目,每个项目都有处理某种实体、MVC视图和控制器的责任。也就是说,一个处理会计,另一个处理公司管理等。这使我们可以在多个解决方案中重复使用它们。
我能够通过注册虚拟路径提供程序以及将视图设置为嵌入资源来从解决方案的核心项目(标准MVC项目)中使用不同程序集中的视图,因此它们可以从其DLL之外加载。
这种方法的主要(而且巨大的)缺点是,将视图设置为嵌入资源会取消编译、使用IntelliSense和调试的可能性,因此开发变得非常棘手,维护更加困难。
有没有办法在DLL中编译这些视图?我是否遗漏了什么或者还有其他更好的方法?
注意:我可以在我的MVC项目中编译视图,但不能在DLL中编译。
1个回答

1

我不知道这是否对你有所帮助,但是...

有一段时间我也想做和你一样的事情,直到我想到了一个问题:只要视图存在为.aspx和.ascx文件,它们就可以用于“皮肤”应用程序,因为它们不是编译应用程序的一部分。换句话说,在最终组合的应用程序中,将所有视图作为未编译文件具有太多好处,不能忽视,我认为。

因此,我最终决定最终组合的应用程序负责渲染所有内容。这也意味着,如果我有两个不同的应用程序重用相同的模块,它们可以以非常不同的方式呈现这些模块。

这些文件应该仅包含渲染代码,因此应由HTML / Graphics设计师而不是开发人员开发。

所有控制器和视图模型仍然在单独的模块(.dlls)中实现。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接