title: Explicitly set the order of build targets defined in NuGet packages
body: <p>I have a Visual Studio 2017 project for building an Azure Function App.  This project contains (amongst others) two NuGet packages - <strong>Microsoft.NET.Sdk.Functions</strong> and <strong>OctoPack</strong>.  The packages are referenced in this order by the <code>.csproj</code> file for the Project in question.</p>
  
  <p>The <code>Microsoft.NET.Sdk.Functions</code> package contains the target <code>_GenerateFunctionsPostBuild</code> -</p>
  
  <pre><code>&lt;Target Name="_GenerateFunctionsPostBuild" AfterTargets="Build"&gt;...&lt;/Target&gt;
  </code></pre>
  
  <p>The <code>OctoPack</code> package contains the target <code>Octopack</code> -</p>
  
  <pre><code>&lt;Target Name="OctoPack" Condition="$(RunOctoPack)"&gt;...&lt;/Target&gt;
  </code></pre>
  
  <p>When building, it's essential that the <code>_GenerateFunctionsPostBuild</code> target runs before the <code>OctoPack</code> target, otherwise required files are not available in the NuGet package generated by <strong>OctoPack</strong>.</p>
  
  <p>As I can't edit the NuGet packages directly, I'm unable to explicitly state <code>AfterTarget="_GenerateFunctionsPostBuild"</code> for the <code>OctoPack</code> target.  Is there any way I can force the targets to run in the order that I require?</p>