Asp.net mvc 构建为单个ASP.NET MVC应用程序的多个ASP.NET MVC项目
我们希望将我们的大型asp.net mvc web应用程序拆分为多个Visual Studio项目,以便每个团队可以独立地处理其Visual Studio项目 所需结构为:Asp.net mvc 构建为单个ASP.NET MVC应用程序的多个ASP.NET MVC项目,asp.net-mvc,visual-studio,Asp.net Mvc,Visual Studio,我们希望将我们的大型asp.net mvc web应用程序拆分为多个Visual Studio项目,以便每个团队可以独立地处理其Visual Studio项目 所需结构为: 负责基本UI的ASP.NET MVC应用程序 模块1-VS项目(这需要是ASP.net MVC应用程序还是.dll?) 模块2-VS项目(这需要是ASP.net MVC应用程序还是.dll?) 等等 每个模块都应该包含自己的控制器和视图,这些控制器和视图负责模块的功能。T 如何将ASP.NET应用程序拆分为多个项目,然后在构
如何将ASP.NET应用程序拆分为多个项目,然后在构建过程中将它们合并为一个网站?您可能感兴趣的一个工具是ILMerge
我从来没有用Asp.NETMVC尝试过,我对MVC体系结构还不太熟悉,无法判断它是否适合您的情况。但这可能值得一试。如果你的应用程序不需要区域,而你的目标只是允许团队独立,为什么不使用更好的源代码控制系统呢?除非您有真正独立的模块,否则在subversion中通过分支进行管理似乎是合适的。只需创建多个MVC项目并在最后通过简单的复制和粘贴合并输出即可解决问题:) 以下是我们遵循的结构:
- MyApp.Web.Shell(仅包含Web应用程序所需的主题、css、js和图像)
- MyApp.Web.Home
- MyApp.Web.UserManagement
- MyApp.Web.DeviceManagement
- MyApp.Web.ContentManagement
- ……等等
如果您在实施类似解决方案时需要任何帮助,请与我联系,联系电话是,我们在以前的工作中处理此问题的一种方法是构建一个主“控制器”应用程序。此应用已部署并面向公众。它的工作是读取传入的URL,并根据配置文件中的一系列映射规则,将该URL映射到同一服务器上运行的其他MVC应用程序。这给了我们很多选择,比如如果我们想进行粗略的负载平衡,就可以在服务器场的不同服务器上运行支持应用程序。您需要管理跨多个应用程序的身份验证(如果您使用的是身份验证)
这基本上使您能够在服务器上运行所需的任意多个不同的MVC应用程序,所有这些应用程序都使用相同的前端控制器(基本上)ASP.NET MVC V2有一个名为Areas的功能,允许主应用程序引用不同的项目。查看ScottGu。您可以使用良好的源代码管理,让各自的团队检查他们需要做什么
这样,在编译时您只有一个dll…遵循此链接将解决您的问题 只需10分钟即可完成步行
不幸的是,这个答案仅适用于MVC 2项目,在撰写本文时,MVC 2项目还处于非常早期的阶段。据我所知,MVC3中不再支持这一点。如果我们的站点中有100个视图,那么管理这些区域将非常困难。基本上,当我们在VisualStudio中加载了1000个文件时,构建过程很糟糕。它需要太长的时间来构建。因此,我们将网站划分为多个asp.net项目,并在构建过程中合并它们,正如我在下面的评论中提到的: