Background . My team consists of 3 rather inexperienced developers. We develop our own software for our company. We currently have several small and separate solutions. Many of them are interdependent. Currently, these definitions are made by referencing the output DLL in the corresponding release folder. Updates are reconfigured by manually rebuilding dependent solutions.
Example: Solution A uses the functions of solution B. The connection is made using solution A, referencing ... \ Release \ B.dll. Changes to B are propagated by building solution B, then building solution A, etc.
This worked fine, but now we are moving from the manual version control system (folder1, folder2, folder2New ...) to the correct one (git).
It seems that the version of the DLL is not recommended. This means that every time someone wants to create a new version of A, he also needs to build B (and possibly 5 other solutions) in order to have the latest version B.
I think there should be a better way to do this. I was considering combining the relevant solutions into one main solution, but I cannot figure out how to do this in Visual C # Express (which we use).
So in the end the questions are:
Is there a solution for the wizard that creates everything you need? - seems to be from MSDN, but I can't figure out how to do this in Visual C # Express 2008, which robs me
Is this possible in Visual C # Express? If not, what is a good way to solve the problem?
Change Thanks to everyone for the great suggestions below. Here is a summary of what I ended up doing.
In short, the answers to the questions: "Yes" and "Sort, but mostly yes." I implemented the following: to get an idea of the dependencies, I did this, as suggested below, and drew a binary product map with an arrow pointing to the dll or exe name for all its dependencies.
For each project, I opened my corresponding solution (since at first there was one project project pr). Then I added the project file of each dependency in the tree structure displayed on the graph (by right-clicking on the solution in the solution explorer), so dependencies were included, etc. Then I deleted the old links (pointing directly to .dlls) and added links to the projects.
An important result is:
- When a project solution is built, all its dependencies are built with it, so when you deploy, you know that all the assembly products are automatically from the latest version.