我们希望将我们的大型asp.net mvc Web应用程序拆分为多个Visual Studio项目,以便每个团队可以独立完成他们的visual studio项目。
所需的结构是:
每个模块都应该包含它自己的控制器和放大器。负责模块运行的视图。 Ť
如何将ASP.NET应用程序拆分为多个项目,然后在构建过程中将它们合并为一个网站?
答案 0 :(得分:8)
ASP.NET MVC V2有一个名为Areas的功能,它允许您拥有主应用程序引用的单独项目。查看ScottGu的post。
答案 1 :(得分:3)
通过创建多个MVC项目并在最后通过简单的复制和放大合并输出来解决问题。粘贴:))
这是我们遵循的结构:
最后,我们使用构建脚本来合并所有项目的输出,并生成运行总Web应用程序所需的文件。
如果您在实施类似解决方案时需要任何帮助,请通过link text
与我联系答案 2 :(得分:2)
您可能感兴趣的一个工具叫做ILMerge
这是一个允许您将多个.Net程序集合并到一个DLL中的工具。它可以用于将多个项目的输出组合到一个DLL中进行部署。
我从未尝试过使用Asp.Net MVC而且我对MVC架构不够熟悉,不知道它是否适用于您的情况。但它可能值得一试。
答案 3 :(得分:1)
答案 4 :(得分:0)
如果您的应用不需要区域,并且您的目标只是为了让团队独立,为什么不使用更好的源代码控制系统呢?除非你有真正独立的模块,否则听起来像是在subversion中通过分支进行管理是恰当的。
答案 5 :(得分:0)
我在上一份工作中处理此问题的一种方法是构建一个主“控制器”应用程序。这个应用程序已部署,面向公众。它的工作是读取传入的URL,并根据配置文件中的一堆映射规则将该URL映射到在同一服务器上运行的其他MVC应用程序。这为我们提供了许多选项,例如,如果我们想要进行原始负载平衡,就能够在服务器场中的不同服务器上运行支持应用程序。您需要管理多个应用程序之间的身份验证(如果您使用身份验证)。
这基本上使您能够在服务器上运行尽可能多的不同MVC应用程序,所有这些应用程序都使用相同的前端控制器(基本上)
答案 6 :(得分:0)
您可以使用良好的源代码管理,让相应的团队查看他们需要处理的内容。
这样你在编译时只有一个dll ......