Adding compiled DLLs is mainly when the code is more or less blocked (architecture level code), which you almost never change, for example,
1) communication level (remote / wcf)
2) General Gui layer (Wizards / Dialogs)
3) Security level (azman material)
you only need to change when your product goes in another direction, let's say that it uses to use .net as a connection, now it will use WCF
Using projects as links when you frequently change project links In addition, Visual Studio works great on creating projects.
source share