title: C# build without unnecessary dependencies of a reference
body: <p>I have project X, which depends on project Y. Project Y depends on two dlls: dll A and dll B. Despite project Xis only using a functionality of project Y that depends on dll a, dll b is being pulled into project X's build output. If I remove dll B from build output and run project Y.exe everything works without a difference. </p>
  
  <p>Is this expected and how build process work by default in c# projects? </p>
  
  <p>What should I do to get a build output without dll b? Creating  seperate projects for each functionality using dll A or dll B ?</p>
  
  <p>Any build/dependency optimization tools out there to handle this case ?</p>