I have a solution that consists of 3 projects. I\'ve created a deployment project it is only including the dependencies from one of the projects in my solution.
Wha
Please note that the dependencies detected by a Visual Studio setup project are more like suggestions. You shouldn't put too much trust in them since false positives are very common.
For a professional installer you should determine the correct dependencies yourself and add them in your project in the appropriate form. For example, some of the dependencies may be part of a runtime or framework which can be added as a prerequisite to your installer.
If you can't figure out what dependencies your application has, you can try using a dependency walker.
VS Setup projects dependency walking capability is pretty strong and really is a great go-to place for direct dependency checking and product binary packaging. With build verbosity increased, it allows direct analysis of which version of each DLL is referenced so you have the info you need to update build references. Unfortunately, the version info is baked into the dependencies and the setup project may not pick things up if it doesn't find an appropriate version available in search paths.
With regards to false positives, my experience is it will bring in any binary reference regardless of whether there is an actual code path up that tree. A solution to that problem is to refactor your code (granularise the projects a bit better).
If you do not use direct project references, the setup projects won't bring in those dependencies. Is that the issue you are encountering? Otherwise, I'd turn up the log verbosity and search for the references you are expecting. It should say which version it is looking for and where it searched and why it didn't grab anything.