title: best practice for multi-project c# solution
body: <p>I am maintaining a C# solution consisting for multi-project. It's usually no problem altering any project except on project <code>z</code>, which gets referenced in a few other project in the solution and also in project <code>a</code> and <code>b</code>.</p>
  
  <p>Project <code>a</code> uses the main GUI whereas project <code>b</code> and <code>z</code> are referenced in project <code>a</code>. When project <code>z</code> is changed and built, I get mismatch of version.</p>
  
  <p>I currently use references and post build script to copy the output to the right project. I did this because it usually saves a lot of compile and build time.</p>
  
  <p>I'm getting tired of manually correcting the problem with manual copy of project <code>z</code> output to <code>b</code> and <code>a</code>.</p>
  
  <p>I guess it's a tossup to allow debugging or not. I normally don't need debugging on project <code>z</code> and hence I use reference on the <code>z's</code> any CPU release build in many places.</p>
  
  <p>Any suggestion to improve on this?</p>