Folder structure for large C# solutions?

  • Thread starter Thread starter -DG-
  • Start date Start date
D

-DG-

Does anyone have preferences for how to set up directory structures in
larger multi-project C# 'solutions'? (Hate that ad-speak cliche). I
realize that this is arbitrary, but it seems that another level of
directory depth would help in organizing things. For example,
assemblies in one top-level folder, executables in another, etc.
Has anyone come up with anything that generally works well?
 
I would think that really depends on the type of application you have and
what your structure requirements are.

Personally, regardless of structure I only keep one project open at a time.
It's easier to keep track of where I am, VS.NET performs better,etc. I will
open multiple VS.NET instances if I need to.
 
Hi DG,

We work on medium to large applications here and we follow microsoft
guidelines for namespaces and we keep the directory structure exactly the
same from the solution level down. Unlike Java they don't have to correspond
exactly so here is what we do...

Projects/ProjectName/ ---> all projects start under a projects folder and
include just the official name of the application

Projects/ProjectName/NameSpace.Solution ---> just the C# or VB.NET
solution file
ProjectsProjects/ProjectName/NameSpace.Solution\Namespace ---> the project
file and associated files

Projects/ProjectName/AnyOtherProjectRelatedFolderHere ---> any folder that
needs to be created to support this application

Example...

C:\Projects\PointOfSale ---> Point of Sale Project

C:\Projects\Kentucky.PointOfSale.Solution -- C# solution
C:\Projects\Kentucky.PointOfSale.Solution\Kentucky.PointOfSale.UI --> User
interface related files
C:\Projects\Kentucky.PointOfSale.Solution\Kentucky.PointOfSale.BusinessLayer
--> Business objects
C:\Projects\Kentucky.PointOfSale.Solution\Kentucky.PointOfSale.DateLayer
--> Data access layer

C:\Projects\PointOfSale\Documentation --> All Point of Sale related
documentation including project charter, use cases, etc.

Hope this helps.

Mark
 
Back
Top