2013-04-05 55 views

回答

0

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

Web应用程序项目(VS)与VS中的任何其他项目一样:有一个.csproj或.vbproj文件,其中包含构建设置,包含在项目中的文件以及所有良好的MSBuild。如果你使用相同的语言(VB/C#)有一堆这些文件,那么主要是将所有文件添加到一个单独的项目中。如果你有不同的语言,那么就没有办法将它们结合起来,你必须保持单独的项目或者将一种语言与另一种语言联系起来; MSBuild只为每个项目调用一个编译器。 (您可以稍后使用ILMerge合并程序集,但仍然必须自行组合所有项目的标记文件。)

网站项目(WSP)有点不同。至于包含文件到项目中,他们只是看文件系统上的内容(而基于MSBuild的项目基本上只有一个包含文件的白名单)。此外,由于WSP不是由MSBuild编译的,所以可以在单个项目中混合使用不同的语言,但您必须自己对其进行配置(请参阅http://msdn.microsoft.com/en-us/library/ms366714.aspx以了解它如何工作)。

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

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

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

  3. 对于任何冲突的类名称,同上。虽然我希望如果你有很多重叠,它大多是重构到一个单独的库反正。

+0

谢谢。我编辑了我的问题来澄清。我意识到我不能混合语言,这是一个很好的观点。 – 2013-04-06 01:12:21

+0

我不确定这是否会回答如何合并项目的问题 – 2013-04-06 01:19:43

+0

我将查看该工具是否有用:http://www.projectmerge.com/index.php – 2013-04-08 01:40:26

相关问题