title: What's the correct usage of Microsoft.Build.Evaluation?
body: <p>I want to programmatically add an Import to an MSBuild project. The API in this <code>Microsoft.Build.Evaluation</code> namespace allows me to to this (I'd prefer to achieve the same result through the VS extensibility API but there doesn't seem to be any way to do that so I'm resorting to this API).</p>
  
  <p>If I want to open one or more Projects in a method, look at their Imports, and sometimes add an import, how am I supposed to use <code>ProjectCollection</code> object? Do I always create a new ProjectCollection, load projects into it, then unload them all at the end of the method?</p>
  
  <p>I have working code that does what I want, I just can't guess how to 'properly' use this API since there's just the usual low-level reference documentation provided.</p>