组织一个大型的c#解决方案

时间:2013-03-07 00:25:57

标签: c# .net

我有一个每天在TFS中构建的大型解决方案。该解决方案涵盖多个逻辑子解决方案 - 例如ApplicationA,其包括项目A,B,C,D; ApplicationB,包括项目A,B,E,F,ApplicationC,包括项目A,C,G,H。

目前我们在本地制作构建解决方案文件的副本并卸载我们不需要构建的项目来处理项目 - 因此对于ApplicationA,我们将卸载除A,B,C,D之外的所有内容。

另一种方法是创建多个解决方案配置,这些配置只能为ApplicationA构建项目A,B,C,D - 但我担心这会很麻烦,而.sln文件最终会很大。

问题是许多项目被集成到一个wix包中并一起安装 - 所以主要的.sln文件是有意义的,特别是从构建的角度来看,还有调试。

维护多个解决方案文件似乎不正确,因为添加新项目时我们需要将它们添加到多个解决方案中。所以也许配置方法是可行的,但它也感觉不对。

是否有人有类似情况的经验,你是如何解决它的?

1 个答案:

答案 0 :(得分:11)

听起来有五个解决方案文件是有道理的:

  • Master.sln,包含所有项目
  • ApplicationA.sln,包含项目A,B,C,D
  • ApplicationB.sln,包含项目A,B,E,F
  • ApplicaitonC.sln,包含项目A,C,G,H

将所有这些解决方案文件放在同一个顶级目录中是很好的。

  

但是维护多个解决方案文件是不可行的,因为添加新项目时我们需要将它们添加到多个解决方案中。

为什么会出现问题?无论如何,您需要确定项目所需的应用程序...在主解决方案中创建项目(肯定需要它),然后使用“添加现有项目”来获取需要它的解决方案。它真的没那么多工作 - 而且我不希望新的项目经常被添加。 (如果是,则表明存在更大的问题。)