Visual studio 在VisualStudio中合并Web应用程序项目

Visual studio 在VisualStudio中合并Web应用程序项目,visual-studio,visual-studio-2012,web,Visual Studio,Visual Studio 2012,Web,我的解决方案中有42个不同的web应用程序项目,我希望将它们全部合并到一个web应用程序中。有没有一种相对轻松的方法可以做到这一点?Visual Studio有两种类型的Web项目:Web应用程序和网站 Web应用程序项目(WAP)与VS中的任何其他项目一样:有一个.csproj或.vbproj文件,其中包含生成设置、项目中包含的文件以及所有优秀的MSBuild内容。如果在同一种语言(VB/C#)中有很多这样的文件,那么主要是将所有文件添加到一个项目中。如果你有不同的语言,就没有办法将它们组合起

我的解决方案中有42个不同的web应用程序项目,我希望将它们全部合并到一个web应用程序中。有没有一种相对轻松的方法可以做到这一点?

Visual Studio有两种类型的Web项目:Web应用程序和网站

Web应用程序项目(WAP)与VS中的任何其他项目一样:有一个.csproj或.vbproj文件,其中包含生成设置、项目中包含的文件以及所有优秀的MSBuild内容。如果在同一种语言(VB/C#)中有很多这样的文件,那么主要是将所有文件添加到一个项目中。如果你有不同的语言,就没有办法将它们组合起来,你要么保留不同的项目,要么将一种语言移植到另一种语言;MSBuild仅为每个项目调用一个编译器。(以后可以使用ILMerge合并程序集,但仍需要自己合并所有项目中的标记文件。)

网站项目(WSP)有点不同。至于将文件包含到项目中,他们只查看文件系统中的内容(而基于MSBuild的项目基本上只有包含文件的白名单)。此外,由于WSP不是由MSBuild编译的,因此可以在单个项目中混合使用不同的语言,但您必须自己进行配置(有关其工作原理的演练,请参阅)

假设您处理的只是一种通用语言的WAP,并且您只是试图减少要维护的项目数量,那么我想不出比开始将现有文件添加到合并项目中更好的策略了。您可能会遇到以下任何问题:

  • 每个单独的项目的行为类似于它自己的IIS应用程序。这对于依赖/bin文件夹(即任何代码)或使用
    ~/
    URI引用该项目内内容的任何内容都很重要。这将防止您仅在主项目中为正在移动的每个子应用创建文件夹。VS中真的没有一个好的设计来解决这个问题,除了有单独的项目(显然不能满足您的需求…)。因此,您可能必须将这些文件添加到同一根文件夹中

  • 任何重复的文件名都必须进行整理。或者,使用web.config,您可能需要合并文件内容

  • 对于任何冲突的类名,同上。尽管我希望,如果您有很多重叠,无论如何,它大部分都会重构到一个单独的库中


  • 谢谢我编辑了我的问题来澄清。我意识到我不能混合语言,这是一个很好的观点。我不确定这是否回答了如何合并项目的问题