Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/11.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
组织大型c#解决方案_C#_.net - Fatal编程技术网

组织大型c#解决方案

组织大型c#解决方案,c#,.net,C#,.net,我有一个大型的解决方案,它每天都在TFS中构建。该解决方案涵盖多个逻辑子解决方案-例如,由项目A、B、C、D组成的ApplicationA;应用程序B由项目A、B、E、F组成,应用程序C由项目A、C、G、H组成 目前,我们在本地制作构建解决方案文件的副本,并卸载我们不需要构建的项目来处理项目-因此对于ApplicationA,我们将卸载除a、B、C、d之外的所有内容 另一种方法是创建多个解决方案配置,这些配置只会为ApplicationA构建项目A、B、C、D,但我担心这会很麻烦,.sln文件最

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

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

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

问题是,许多项目被合并到一个wix包中并一起安装-因此,main.sln文件是有意义的,特别是从构建的角度来看,而且从调试的角度来看

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


有没有人有过类似的经历,你是如何度过的

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

  • Master.sln,包含所有项目
  • ApplicationA.sln,包含项目A、B、C、D
  • ApplicationB.sln,包含项目A、B、E、F
  • applicationnc.sln,包含项目A、C、G、H
将所有这些解决方案文件都放在同一顶级目录中是很好的


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


为什么这是个问题?您需要确定项目需要哪些应用程序。。。在主解决方案中创建项目(它肯定会需要),然后对需要它的解决方案使用“添加现有项目”。这真的没有那么多的工作,而且我也不希望新的项目被如此频繁地添加。(如果是,这表明存在更大的问题。)

“但是维护多个解决方案文件是不可行的,因为在添加新项目时,我们需要将它们添加到多个解决方案中。”?这真的很繁重吗?我一直使用多种解决方案(在处理许多项目时),但从未发现这很痛苦。谢谢Jon-我觉得这是正确的前进方向,只是提出了通过配置实现的想法,所以我想进行调查。(顺便说一句,我很喜欢你关于c#design strategies的书和视频:)@NDJ:Configurations也很管用,但在其他方面很痛苦。(例如,在构建同一程序集的不同版本时,我会使用Noda Time的配置。)为了只关注几个项目,我认为单独的解决方案更有意义。