2008-11-12 143 views
27

我已经看到了很多不同的主题,所以我想如果有一个这样的首选方式。有没有Visual Studio项目/解决方案结构的最佳实践?

关于如何针对相同解决方案的多个解决方案设置Visual Studio项目和解决方案,是否有任何最佳实践?

例如: 假设我有一个任务需要一个Web应用程序,一个控制台应用程序和一个共享业务逻辑库。

在我职业生涯的某个时候,我已经看到了1,2和3种解决方案中的这种情况。这是一个简单的例子;但是,如果项目数量增长会怎样?是否有一条线保持一条或将它分开?

回答

1

我喜欢在解决方案中包含针对特定任务的所有项目。所以根据你提到的例子,我会有一个包含属于我被要求做的解决方案的三个项目的解决方案。这样可以让所有元素一起完成一项任务,我发现这简化了包含解决手头任务所需的其他元素。

+0

我想最好的实践,取决于你发现最简单的做法 – CheGueVerra 2008-11-12 18:54:18

4

您可以拥有multipe解决方案,并且每个解决方案都可以引用它关心的项目。扩展你的例子,你的共享业务逻辑库可能有一个相应的单元测试库。这两个项目可以包含在一个解决方案中。同时,您可能有另一个包含您提到的三个项目的解决方案,但在这种情况下,单元测试库不包含在内。

6

解决方案适用于特定情况下的开发人员。项目(C-Sharp的.CSPROJ)是真正编译的地方。

理论上,如果有4个不同的项目,那么开发人员可能希望将这些项目组合为24个不同的组合。

如果你把一切都在一个项目层面上,你将不必担心开发商是如何安排自己的.sln文件

+4

我在TechEd今年问了一个微软的'专家',他基本上同意你在这里说的话,他主张不添加.sln文件来源完全控制,只有.csproj文件。每个开发人员都会选择适合特定任务的组合。 – rohancragg 2008-12-18 14:43:40

+5

这有助于考虑,但对我来说似乎很奇怪。当然,如果多个开发人员正在研究单个Windows窗体应用程序,他们将希望以相同的方式构建它。你可以在源代码控制中总是有多个.sln文件,我想。 – 2014-02-23 02:58:11

2

我的解决方案通常包括:

  • Web应用程序项目
    • '通用' 文件夹基地&通用助手类
    • '包含' 文件夹
      • '风格' 文件夹
      • '脚本'文件夹
      • '图片' 文件夹
    • '用户控件' 文件夹
  • Web服务项目
  • Web框架项目
  • 业务层项目
  • 业务框架项目
  • 数据访问项目
相关问题