Merge multiple projects into one.
The number of projects in a solution negatively affects the build time. Since modularisation is good there needs to be a trade-off between these two. Using folders and namespaces instead of projects is another way to achieve modularisation.
...
Merge 2 or more projects into one. Useful when trying to reduce the number of projects in your solution.
This is a very early version that should be able to merge C# projects (including references) and VC++ projects (references are currently not merged).
It's recommended that you commit everything into your source control system so that you can easily spot the changes and revert back to the original state if necessary.
Simply select all the projects you want to merge and click on the "Merge Projects" option. Projects will be merged into the first selected project (in the future there will be a dialog to choose the target project).
The type and flavour of all the selected project will be validated (must be the same) and for each project to be merged:
A new directory will be created inside the target project.
All files from the source project will be copied into the new directory and added to the target project.
For C# projects only, all references from the source project will be added to the target project.
Future improvements
Adding dialog to choose the target project.
Merging VC++ projects should merge the precompiled header files.
Merging C# projects should merge the packages.config file.