Structuring projects & dependencies of large winforms applications in C#

Posted by Benjol on Stack Overflow See other posts from Stack Overflow or by Benjol
Published on 2008-09-30T07:13:13Z Indexed on 2010/05/21 5:30 UTC
Read the original article Hit count: 605

UPDATE:
This is one of my most-visited questions, and yet I still haven't really found a satisfactory solution for my project. One idea I read in an answer to another question is to create a tool which can build solutions 'on the fly' for projects that you pick from a list. I have yet to try that though.


How do you structure a very large application?

  • Multiple smallish projects/assemblies in one big solution?
  • A few big projects?
  • One solution per project?

And how do you manage dependencies in the case where you don't have one solution. Note: I'm looking for advice based on experience, not answers you found on Google (I can do that myself).

I'm currently working on an application which has upward of 80 dlls, each in its own solution. Managing the dependencies is almost a full time job. There is a custom in-house 'source control' with added functionality for copying dependency dlls all over the place. Seems like a sub-optimum solution to me, but is there a better way? Working on a solution with 80 projects would be pretty rough in practice, I fear.

(Context: winforms, not web)

EDIT: (If you think this is a different question, leave me a comment)

It seems to me that there are interdependencies between:

  • Project/Solution structure for an application
  • Folder/File structure
  • Branch structure for source control (if you use branching)

But I have great difficulty separating these out to consider them individually, if that is even possible.

I have asked another related question here.

© Stack Overflow or respective owner

Related posts about visual-studio

Related posts about architecture