使用ASP.net MVC项目作为其他MVC项目的“基础”项目

时间:2014-10-02 17:29:49

标签: asp.net-mvc asp.net-mvc-5

我目前正在研究内部Intranet应用程序的“套件”

它们都是asp.net MVC应用程序,它们(由于各种原因)部署为单独的应用程序

我目前正面临大量重复 -

每个应用程序基本上都具有相同的“外部”外壳 这个外壳不只是关于视图,它包含认证逻辑等......

“内部”视图是实际应用。

所以,在一个理想的世界里,我会有类似的东西:

MyCompany.Web
持有_Layout,基本控制器,身份验证等......

然后,我的解决方案中的其他mvc项目如:

  • MyCompany.Web.App1
    继承MyCompany.Web

  • MyCompany.Web.App2
    继承MyCompany.Web

等...

我有什么理由可以做到这一点吗?

到目前为止,我所尝试过的所有内容都涉及将构建视图等视图转换为构建的子项目,并且感觉非常脆弱。

1 个答案:

答案 0 :(得分:1)

为要共享的所有基于程序集的代码创建nuget包。

考虑nuget包是否适用于任何视图或布局文件共享。

考虑制作一个包含相关nuget包用法的项目模板。这将允许您遵循MVC本身所采用的相同模式,您可以根据需要创建新项目并更新nuget包。这消除了对模板本身的频繁更改的需要,除非nuget不容易共享更改。