title: Running a target before the CoreBuild?
body: <p>I'm adding a custom <code>.tt</code> template generation target to my project to run before <code>CoreBuild</code>, and there appear to be 2 ways of doing it:</p>
  
  <pre><code>&lt;Project...&gt;
      &lt;Target Name="TransformOnBuild" AfterTargets="BeforeBuild"&gt;
  &lt;/Project&gt;
  </code></pre>
  
  <p>and</p>
  
  <pre><code>&lt;Project...&gt;
      &lt;Target Name="TransformOnBuild" BeforeTargets="CoreBuild"&gt;
  &lt;/Project&gt;
  </code></pre>
  
  <p>If my target should run before my project is built, as the project relies on it, would it be better for me to use the latter?  I've seen the former used to do things like generate text templates, but it seems like an unreliable way to do it because it might get run after <code>CoreBuild</code>, which is too late.  Or is there some reason why <code>AfterTargets="BeforeBuild"</code> is still guaranteed to run before the core build?</p>
  
  <p>I've also seen <code>BeforeTargets="BeforeBuild"</code> which will build even earlier.  Is this a better place to put a `.tt text generation target?</p>