title: Visual Studio Solution Project Reference or Dll Reference
body: <p>I'm looking for guidance on a project reference/dll reference practice. </p>
  
  <p>The situation is that we have utility dll's that are used in a bunch of projects and some team members reference by project and some by reference in a dll.</p>
  
  <p>The downsides to project reference are:</p>
  
  <ul>
  <li>can end up with too many projects in the solution</li>
  <li>introduces fail fast updates since dll's can't be versioned anymore</li>
  <li>forces everyone to have a similar folder structure for their code</li>
  </ul>
  
  <p>The downsides to lib folder reference:</p>
  
  <ul>
  <li>delayed bug finding since the dll could be updated much later in the project using it</li>
  <li>debugging isn't possible without up to date pdb files</li>
  </ul>
  
  <p>Also, what would be a good strategy in making sure all projects still work with the dll updates? Would it need to be a build server firing dependency build checks whenever the utility is updated?</p>
  
  <p>We're using SVN as our source control.</p>