Separate .NET / Git repo solution for multiple applications

Currently, I have one solution that contains both a single application developed so far and projects for all homegrown libraries. All this solution is also stored in one Git repo. Now I'm going to develop a second application that will use the same libraries. This application will have different release cycles than the first and different versions. The question (or questions) I have is how to split the code, both from the point of view of the installed solution, and from the point of view of Git.

A few other useful details before talking about the answers:

  • Applications are deployed on a shared network drive, not on separate computers, so I have full control over their deployment and deployment with them.
  • DLLs are not shared by the applications that were created. Each application has in its folder a full copy of all DLLs, PDBs and configuration files.
  • I am currently the only one who makes releases, but one or two more may end with release releases, so I would like to keep that in mind.

I went around a couple of ideas in my head, but not one of them seems satisfactory. I thought I was just saving everything in one solution / one Git repository. I also thought about splitting the solution across multiple Git repositories using submodules, but submodules are cumbersome. I also thought about making each application my solution and all the libraries in the other. Then the question arises, can I open several solutions in the visual studio. Libraries often need to be changed using applications, so their separation is too strong in separate solutions, or Git repos will make it difficult to synchronize libraries and applications. Another problem I'm experiencing is branching. If I decompose the solution into several Git repositories, I may have branches for each application, but if I save one repo,then I can only have one set of branches for everything.

, , , . , SO, . , , , .

+5
2

, , - . , - - :

mainapp
 \mainappdir
   \somefiles
    ...
|
|
 \library1
|
 \library2

, 1 library2 (, , ). , - Git IMHO.

- 1 library2 . , ( , .gitignore , ). , / . / , .

+2

, , . , . , , .

, Git, ( ) , , .

. .

0

All Articles