如何分解大型解决方案(20多个项目)?

时间:2016-10-21 00:27:50

标签: .net visual-studio project-organization

我有20多个项目的大型解决方案。其中大多数是实用程序类型的项目,它们执行特定的,谨慎的,定义的功能集,而不依赖于特定于域的项目。

将此解决方案检入Github。

我现在需要制作一个新的解决方案,我需要使用原始大型解决方案中的2个或3个项目。我应该如何从大型解决方案中删除这些项目,并将它们提供给需要它们的两种解决方案?

这样做的典型方法是什么?最佳做法?

我很难想象这一点,所以一些实用的技巧,实践,甚至一步一步都会有用。

1 个答案:

答案 0 :(得分:1)

大解决方案? > 100项目解决方案怎么样?这个问题可归类为"太宽泛"和#34;基于意见的"。不过,由于我是一名构建大师,我会给你一些提示。

如果你能识别"核心"项目,将它们放入一个解决方案并构建到bin,同时引用来自同一bin的DLL

  

--Solution1 --bin --Proj1 --Proj2 --Products --Prod1 --Prod1Solution --Proj3 --Proj4 --Prod2 --Prod2Solution --Proj5 --Proj6 ...

现在,您可能拥有" End产品项目",就像使用某些核心组件的产品一样。这些"产品"应该与上面的Solution1位于同一分支下,可能位于不同的文件夹下。您为每个产品创建了一个解决方案,如果它很小,您甚至可以使用项目引用,但仍然引用bin中的DLL。您可以构建它,例如在bin\Product1下。

另一个选择 - 拥有一个包含解决方案文件夹的宏大解决方案并将整个集合构建在一起。

我们使用第一个选项,因为这允许高度自定义的构建。我可以构建基本的项目集并分发给编写自定义解决方案的开发人员。或者我可以在其中构建整套核心产品。