Add all projects in one solution.
Change any links between projects to "project links" rather than direct links to dll files. This will fix many dependency issues.
If you have any “library” files that do not change often, you can move them to a separate solution if necessary. The result of this should be a “pre-built” version of the dll, which you can reference from a standard location in your main solution (the best way to do this is to add a post-build step that copies the output to the library’s library development folder. Thus, the build process doesn’t changes, you just add an extra step to get the files where you need them, and you have complete control over the build process). This works well, but it’s a pain if you need to change these pre-created DLLs often, so it’s best to use it only for fairly static parts of your code base.
Finally, consider combining many of your projects into a single project / assembly. The killer during assembly is not the amount of code, the number of assemblies - on my PC, each project adds a fairly constant 3 seconds to the build time, so by combining small projects, I saved a lot of build time.
source share