每个项目有1个解决方案是否有任何缺点

时间:2010-12-01 21:27:55

标签: visual-studio projects-and-solutions

我们正在开发一个大型应用程序,包括大约100个项目(40个视图,40个控制器/模型,20个实用程序库)。我们将大部分工作外包出去,可交付成果相当随意。

当我们获得可交付成果(项目)时,我们需要在将其提交给源代码控制之前运行FxCop,StyleCop,相关的单元测试等。为了简化这一过程,我们强制要求每个项目都有一个解决方案文件。这使我们可以简单地在解决方案文件上运行自动脚本,然后在检查之前对其进行测试。

我的问题是“你能想到为每个项目提供1个解决方案的任何缺点吗?”。

我们已经讨论过的缺点包括:

  1. 开发人员需要额外的维护。这并不会打扰我们,因为我们已经将固定价格合同的开发外包。
  2. 解决方案文件中的SourceSafe绑定。这可能是个大问题,但幸运的是我们大约一年前迁移到了TFS。

2 个答案:

答案 0 :(得分:1)

我们在类似的船上有大约200个项目,其中许多是常用的,我们的各种规模的各种解决方案。

虽然缺点是加载时间,但一个优点是调试 - 即如果您的代码调用其他程序集,那么将所有内容都放在同一个解决方案中会很好。

此外,我们将我们的单元和集成测试以及我们的核心项目(DLL或EXE)保存在同一个解决方案中,因此即使在一个简单的模板上,我们每个解决方案至少有三个。

最终,我认为通用解决方案的最大优势归结为跨项目调试,IMO。 - 但除非至少有这个或其他令人信服的理由,否则我绝不会把它们扔在一起。

另一方面 - 由于上述原因(运行FxCop等)和持续集成,我们不允许没有解决方案的项目。具有多个项目的大型解决方案的一个缺点是构建时间 - 但它确实有助于了解是否弄乱了组件最终破坏了无关的解决方案/项目。

答案 1 :(得分:0)

我们确实发现了一个缺点。我们所有的项目都在Visual Studio 2008中。如果我们想要将一个项目升级到Visual Studio 2010,我们意识到我们几乎肯定需要升级所有其他项目(因为它们都是直接或间接地依赖于或依赖于, 彼此)。