如何组织一个包含解决方案/项目/文件夹的大型项目?

Yar*_*veh 5 projects-and-solutions solution visual-studio

我们正在开发一个非常大的VS项目.

我们希望项目结构能够"暗示"开发人员对逻辑组件和设计进行"提示".

为此目的,这是最好的:

  1. 一个包含许多子文件夹和命名空间的项目
  2. 根据类的逻辑分组拆分为多个项目.将所有项目与解决方案文件夹放在同一解决方案中
  3. 与#2相同,但有多个解决方案而不是单个子文件夹.

Bru*_*oLM 2

我的项目很大。

我们将每个“模块”分离在不同的程序集中,创建类库。像这样的东西:

Client.ProjectName (Solution)
    Client (Class Library)
        - SectionHandler...
        - ComponentModels...
        - Utilities...

    Client.Web (Class Library)
        - Handelrs
        - Extenders

    Client.Net (Class Library)
        - MailQueue

    Client.Blog.WebControls.UI (Class Library)
        - TopContent.ascx
        - PostsList.ascx

    Client.News.WebControls.UI (Class Library)
        - TopContent.ascx
        - PostsList.ascx

    Client.Website
Run Code Online (Sandbox Code Playgroud)

每个都是该解决方案或其他共享解决方案下Class Library的一个项目。Client.ProjectName

文件系统如下所示:

Client
|- Framework
   |- Client
      |- files...
   |- Client.Web
      |- files...
   |- Client.Net
      |- files...
|- SolutionName
   |- Client.Blog.WebControls.UI
   |- Client.News.WebControls.UI
   |- Website
Run Code Online (Sandbox Code Playgroud)

共享客户端库立即位于该Client\Framework文件夹下,它旨在用于该客户端的所有项目。具体项目在解决方案中。我们还有一个名为的文件夹Company,我们在其中保存可以在任何客户的任何其他项目中使用的项目,它就像公司框架。

我们使用的解决方案:

  • 一份为公司框架
  • 一个用于客户端框架
  • 每个客户一个解决方案

同一项目可以在多个解决方案中引用,因此您不一定需要创建所有这些解决方案。

通过这种格式,我们只需引用 DLL 就可以在其他项目中使用很多东西。如果没有这种结构,某些项目将无法在给定时间内完成。