将所有项目添加到解决方案中是否更好?或只添加DLL引用?

时间:2013-03-01 17:59:07

标签: c# .net visual-studio-2010 visual-studio projects-and-solutions

我需要证据和资源,我有很多项目,彼此相关,我已经渗透到他们的代码,我只在他们的一小部分工作,我有所有二进制文件的最新版本在其他项目中,最好只添加我使用的项目并将引用添加为dll引用,或者添加其他项目,即使我不需要更改它们或查看它们。

这是个人偏好吗?为什么?什么是最佳做法?

注意:项目数量正在增加,它们现在是:25个项目,还有计数!

请提供参考和链接,而不是一般性答案。

注意:所有项目都是由我们的团队开发的,而不是外部开源项目

2 个答案:

答案 0 :(得分:6)

这不是个人偏好。

只要有可能,您应该引用项目本身而不是它们生成的DLL。原因如下:

  • 构建Debug和Release将产生一致的输出
  • 不会有过时的引用
  • VS知道在某些内容发生变化时要构建什么,尤其是当你有链接引用A-> B-> C时,如果使用DLL则更改A的dll不会导致重建C

唯一可能的问题是你正在使用多少个项目。如果太多,那么在每个部分本身一致的部分中分解解决方案并引用所涉及的所有项目,因此SolutionA具有Project1,Project2,Project3和SolutionB具有Project3,Project4和Project5,但构建要么仍将产生一致的构建。 Sill保持一个解决方案,包含发布版本的所有项目。

25个项目仍然可以管理。你也可以有一个解决方案,项目分组在不同的解决方案文件夹下,所以它不是VS的解决方案资源管理器中的25个大列表,但它们仍然在同一时间构建。

答案 1 :(得分:1)

解决方案中的每个项目都被引用为DLL。所以这是一样的。 唯一的区别是,如果您不必在25个项目中的任何一个项目中更改某些代码,那么每次重建时都会非常糟糕。

问题如下:构建解决方案时,如果引用的项目未更改,则不会构建。这与解决方案中没有所有项目是一样的。

但是如果你做了一个干净的构建,那么解决方案中的所有项目DLL都将被删除,并且所有项目都将被构建。这将需要更长的时间。

这是我目前唯一可以提出的两件事。