2009-07-29 92 views
16

我们希望将我们的大型asp.net mvc Web应用程序拆分为多个Visual Studio项目,以便每个团队都可以在其Visual Studio项目中独立运行。构建为单个ASP.NET MVC应用程序的多个ASP.NET MVC项目

所需结构是:

  1. ASP.NET MVC应用程序,其负责的基本UI
  2. 模块1 - VS项目(这是否需要是一个ASP.net MVC应用程序或.dll? )
  3. 模块2 - VS项目(这是否需要成为一个ASP.net MVC应用程序或.dll)
  4. 等等....

每个模块应该包含它?自己的控制器&视图负责模块的功能。 T

如何将ASP.NET应用程序拆分为多个项目,然后在构建过程中将它们合并为一个网站?

回答

8

ASP.NET MVC V2有一个称为区域的功能,让你有尽可能多的不同的MVC应用程序的能力具有主应用程序引用的单独项目。看看ScottGu的post

+1

据我所知,这是不再MVC3支持。 – 2011-03-25 20:49:40

+1

如果我们在网站中有100多个视图,那么这些区域很难管理。基本上,当我们在Visual Studio中加载了1000个文件时,构建过程很糟糕。构建需要很长时间。所以我们把我们的网站分成多个asp.net项目,并在构建过程中合并它们,就像我在下面的评论中提到的那样:http://stackoverflow.com/questions/1200424/multiple-asp-net-mvc-projects-that-builds -as-single-asp-net-mvc-application/1362621#1362621 – Gopinath 2011-05-07 13:30:16

2

一个工具,你可能有兴趣在寻找被称为ILMerge

这是一个工具,可以让你几个.NET程序集合并成一个单一的DLL。它可以用于将多个项目的输出组合到一个单独的DLL中进行部署。

我从来没有尝试过使用Asp.Net MVC,我对MVC架构不太熟悉,不知道它是否适合您的情况。但它可能值得一试。

0

如果您的应用程序不需要区域,而您的目标只是为了让团队独立,为什么不使用更好的源代码控制系统?除非你有真正独立的模块,否则听起来像在颠覆中通过分支管理是合适的。

3

问题是由刚刚创建多个MVC项目,并通过简单的复制粘贴& :)

这里汇合在最后输出整理出来是我们遵循的结构:

  • MyApp.Web。壳牌(只包含主题,CSS,JS的Web应用程序所需的&图片)
  • MyApp.Web.Home
  • MyApp.Web.UserManagement
  • MyApp.Web.DeviceManagement
  • MyApp.Web.ContentManagement
  • .....等等...

在我们使用的构建脚本合并所有项目的输出,并生成结束整个Web应用程序运行所需的文件。

如果您需要在实施类似的解决方案的任何帮助,在我们在我以前的工作来处理这个link text

0

一种方式与我取得联系是建立一个主“控制器”的应用程序。这个应用程序已部署并面向公众。它的工作是读取传入的URL,并根据配置文件中的一系列映射规则将该URL映射到运行在同一台服务器上的其他MVC应用程序。这给了我们很多选择,例如如果我们想要进行粗略的负载平衡,就能够在场中的不同服务器上运行备份应用程序。您需要管理多个应用程序之间的身份验证等事情(如果您使用的是身份验证)。

这基本上给你,因为你需要在服务器上运行的所有使用相同的前端控制器(基本)

0

您可以使用良好的源代码管理,并让各个团队检查他们需要处理的内容。

这种方式你在编译的时候只有一个DLL ...

相关问题