Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 构建为单个ASP.NET MVC应用程序的多个ASP.NET MVC项目_Asp.net Mvc_Visual Studio - Fatal编程技术网

Asp.net mvc 构建为单个ASP.NET MVC应用程序的多个ASP.NET MVC项目

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 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应用程序拆分为多个项目,然后在构建过程中将它们合并为一个网站?

    您可能感兴趣的一个工具是ILMerge

    这是一个允许您将多个.Net程序集合并到单个DLL中的工具。它可以用于将多个项目的输出合并到单个DLL中进行部署


    我从来没有用Asp.NETMVC尝试过,我对MVC体系结构还不太熟悉,无法判断它是否适合您的情况。但这可能值得一试。

    如果你的应用程序不需要区域,而你的目标只是允许团队独立,为什么不使用更好的源代码控制系统呢?除非您有真正独立的模块,否则在subversion中通过分支进行管理似乎是合适的。

    只需创建多个MVC项目并在最后通过简单的复制和粘贴合并输出即可解决问题:)

    以下是我们遵循的结构:

    • MyApp.Web.Shell(仅包含Web应用程序所需的主题、css、js和图像)
    • MyApp.Web.Home
    • MyApp.Web.UserManagement
    • MyApp.Web.DeviceManagement
    • MyApp.Web.ContentManagement
    • ……等等
    最后,我们使用构建脚本合并所有项目的输出,并生成运行整个web应用程序所需的文件


    如果您在实施类似解决方案时需要任何帮助,请与我联系,联系电话是

    ,我们在以前的工作中处理此问题的一种方法是构建一个主“控制器”应用程序。此应用已部署并面向公众。它的工作是读取传入的URL,并根据配置文件中的一系列映射规则,将该URL映射到同一服务器上运行的其他MVC应用程序。这给了我们很多选择,比如如果我们想进行粗略的负载平衡,就可以在服务器场的不同服务器上运行支持应用程序。您需要管理跨多个应用程序的身份验证(如果您使用的是身份验证)


    这基本上使您能够在服务器上运行所需的任意多个不同的MVC应用程序,所有这些应用程序都使用相同的前端控制器(基本上)

    ASP.NET MVC V2有一个名为Areas的功能,允许主应用程序引用不同的项目。查看ScottGu。

    您可以使用良好的源代码管理,让各自的团队检查他们需要做什么


    这样,在编译时您只有一个dll…

    遵循此链接将解决您的问题

    只需10分钟即可完成步行


    不幸的是,这个答案仅适用于MVC 2项目,在撰写本文时,MVC 2项目还处于非常早期的阶段。据我所知,MVC3中不再支持这一点。如果我们的站点中有100个视图,那么管理这些区域将非常困难。基本上,当我们在VisualStudio中加载了1000个文件时,构建过程很糟糕。它需要太长的时间来构建。因此,我们将网站划分为多个asp.net项目,并在构建过程中合并它们,正如我在下面的评论中提到的: