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

本文关键字:一个 大型 解决方案 | 更新日期: 2023-09-27 18:02:44

我有一个很大的解决方案,每天在TFS中构建。该解决方案包含多个逻辑子解决方案——例如ApplicationA,它由项目A、B、C、D组成;应用程序B由项目A、B、E、F组成,应用程序C由项目A、C、G、h组成

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

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

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

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

有人遇到过类似的情况吗?你是如何解决的?

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

听起来有五个解决方案文件是有意义的:

  • 的主人。sln,包含所有项目
  • ApplicationA。sln,包含项目A、B、C、D
  • ApplicationB。sln,包含项目A、B、E、F
  • ApplicaitonC。sln,包含项目A、C、G、H

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

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

为什么这是个问题?无论如何,你需要弄清楚哪些应用程序需要这个项目。在主解决方案中创建项目(它肯定需要它),然后对需要它的解决方案使用"添加现有项目"。真的没有那么多的工作-而且我也不希望经常添加新项目。