title: Dotnet pack doesn't respect dynamic variables for version attribute
body: <p>Hey I have been trying to change my csproj to use the .net core style. The project is a class library that I generate a nuget package from. All seems to work fine with the changes if I specify the value as a hard coded value</p>
  
  <pre><code>&lt;Version&gt;1.0.1.1&lt;/Version&gt;
  </code></pre>
  
  <p>However I am trying to use a shared assembly file to drive the version of a few projects in the sln. Which works fine for the dll but not the nuget package it generates. running <code>dotnet pack</code> has the same issue.</p>
  
  <p>I tried a couple things to get this to work but the most surprising seems to be how it ignores variables. e.g.</p>
  
  <p><code>InitialTargets="SetVersion"</code></p>
  
  <pre><code>&lt;Target Name="SetVersion"&gt;
  &lt;PropertyGroup&gt;
    &lt;Version&gt;1.0.1.1&lt;/Version&gt;
  &lt;/PropertyGroup&gt;
  </code></pre>
  
  <p></p>
  
  <pre><code>&lt;Version&gt;$(Version)&lt;/Version&gt;
  </code></pre>
  
  <p>The dlls generated all have version 1.0.1.1 or whatever the variable is set to. However the nuget package still just generates version 1.0.0.0. </p>
  
  <p>The exact same output if I specify:</p>
  
  <pre><code>&lt;GenerateAssemblyVersionAttribute&gt;false&lt;/GenerateAssemblyVersionAttribute&gt;
  </code></pre>
  
  <p>And let it read the version from the SharedAssembly.cs file. The dlls are the correct version but not the nuget package.</p>
  
  <p>I know I could just specify the version when calling <code>dotnet pack</code> but was hoping to avoid that and have it just happen correctly when running the build from VS</p>