title: Why does NuGet put packages at the "solution level"?
body: <p>When you add a nuget package to a project it puts the assemblies in a /packages folder at the solution level.</p>
  
  <p>I know that there are ways to change this, but I'm wondering why this is the default location, as it seems very unhelpful for these reasons:</p>
  
  <p>1) If you have a project that is part of multiple solutions, the /packages folder won't necessarily be where you the project expects it.</p>
  
  <p>2) You are expected to manually check it into source control for other team members, which is much less convenient than if it was part of the project that needs it.</p>
  
  <p>3) If you move the project somewhere else on the file system or to a different machine that doesn't have the full code base, it won't find the /packages folder where it expects to.</p>
  
  <p>It seems all of these would be resolved if NuGet just used a /packages folder inside the project, not the solution. And that seems like a much more logical place to put packages that the project relies on anyway.  </p>
  
  <p>So... I'm assuming that there were/are some good reasons for doing it at the solution level, and I'm hoping someone can enlighten me.</p>