C# 模块化ASP.NET MVC网站
我目前正在重构一个巨大的ASP.NETMVC网站。我试图实现的主要思想是在同一个解决方案中拥有一个主(前端)网站和几个单独的网站,这些网站可以单独部署。原因是我们有不同的团队在不同的项目上工作。 当前设置如下所示:C# 模块化ASP.NET MVC网站,c#,asp.net-mvc,architecture,C#,Asp.net Mvc,Architecture,我目前正在重构一个巨大的ASP.NETMVC网站。我试图实现的主要思想是在同一个解决方案中拥有一个主(前端)网站和几个单独的网站,这些网站可以单独部署。原因是我们有不同的团队在不同的项目上工作。 当前设置如下所示: 主网站ASP.NET MVC 单元1(区域) 单元2(区域) 其他模块 公共业务层 公共数据层 公共视图层 在对模块进行更改时,您必须部署主网站(因此,尽管区域作为单独的项目,但它们不能单独部署)。区域正在为视图使用RazorGenerator。公共视图层生成用于主网站/模块的嵌
- 主网站ASP.NET MVC
- 单元1(区域)
- 单元2(区域)
- 其他模块
- 公共业务层
- 公共数据层
- 公共视图层
谢谢你的想法 因此,答案还取决于您是想要有多个解决方案(*.sln),还是只需要一个解决方案和多个mvc项目 Ad.1多个sln/目录。 在这种情况下,可能有趣的选择是使用一些静态内容(如样式、脚本等)配置虚拟目录。这样的虚拟目录可以很容易地在IIS上配置: Ad.2一个解决方案,多个MVC项目: 然后我建议添加一些解决方案文件夹,如“公共表示层文件”->,然后我会将所有要共享的文件移动到该解决方案文件夹中。接下来在这些MVC项目中,我将做以下事情=>右键单击=>添加现有项=>作为链接。 因此,您将拥有原始文件的副本/快捷方式。您应该只在该公共文件夹中进行更新,并且更改将在所有其他mvc项目中可见。然后,您可以单独发布MVC项目,如果这些静态文件的属性正常,则在发布期间将复制所有文件。所以结构看起来像: 解决方案:
- MVC应用程序1(项目)
- MVC应用程序2(项目)
- “通用表示层文件”(解决方案文件夹)
- 其他项目(项目)