title: Missing references to .net core dll in .net framework 4.7.1 / 4.7.2 when using nuget package targetting .net 4.5 / .net standard 2.0
body: <p>I'm using this nuget Package - <a href="https://www.nuget.org/packages/JSNLog/" rel="nofollow noreferrer">JSNlog</a> in a 4.7.2 .net Framework project which has the following dependencies listed:</p>
  
  <pre><code>.NETFramework 4.5.2
  Common.Logging (&gt;= 3.3.1) 
  Microsoft.AspNetCore.Http (&gt;= 1.1.2) 
  Microsoft.AspNetCore.Mvc (&gt;= 1.1.3) 
  Microsoft.AspNetCore.Mvc.TagHelpers (&gt;= 1.1.3) 
  Microsoft.Extensions.Logging (&gt;= 1.1.2) 
  Microsoft.Owin (&gt;= 2.1.0) 
  Newtonsoft.Json (&gt;= 9.0.1) 
  .NETStandard 2.0
  Microsoft.AspNetCore.Http (&gt;= 1.1.2) 
  Microsoft.AspNetCore.Mvc (&gt;= 1.1.3) 
  Microsoft.AspNetCore.Mvc.TagHelpers (&gt;= 1.1.3) 
  Microsoft.Extensions.Logging (&gt;= 1.1.2) 
  </code></pre>
  
  <p>When I install this package, I get the following missing references, which seems like .net core references:</p>
  
  <p><a href="https://i.stack.imgur.com/lQiXE.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/lQiXE.png" alt="Missing .net core references in .net Framework project"></a></p>
  
  <p>It looks for the reference in the package folder, for example:</p>
  
  <pre><code>&lt;Reference Include="Microsoft.Win32.Primitives, Version=4.0.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"&gt;
    &lt;HintPath&gt;..\packages\Microsoft.Win32.Primitives.4.3.0\lib\net46\Microsoft.Win32.Primitives.dll&lt;/HintPath&gt;
    &lt;Private&gt;True&lt;/Private&gt;
  &lt;/Reference&gt;
  </code></pre>
  
  <p>but to work, it should be something like (that's what get inserted when manually adding the reference to the dll from the package, and it does point to the facade this way):</p>
  
  <pre><code>&lt;Reference Include="Microsoft.Win32.Primitives" /&gt;
  </code></pre>
  
  <p>This is the nuget log for this dll:</p>
  
  <pre><code>For adding package 'Microsoft.Win32.Primitives.4.3.0' to project 'WebApplication5' that targets 'net472'.
  For adding package 'Microsoft.Win32.Primitives.4.3.0' to project 'WebApplication5' that targets 'net472'.
  Adding package 'Microsoft.Win32.Primitives.4.3.0' to folder 'C:\Users\xxx\Documents\Visual Studio 2017\Projects\WebApplication5\packages'
  Added package 'Microsoft.Win32.Primitives.4.3.0' to folder 'C:\Users\xxx\Documents\Visual Studio 2017\Projects\WebApplication5\packages'
  Added package 'Microsoft.Win32.Primitives.4.3.0' to folder 'C:\Users\xxx\Documents\Visual Studio 2017\Projects\WebApplication5\packages' from source 'https://api.nuget.org/v3/index.json'
  Added reference 'Microsoft.Win32.Primitives' to project:'WebApplication5'. The Reference was Resolved To Package (resolvedToPackage):'False', where Reference Path from DTE(dteOriginalPath):'' and Reference Path from package reference(assemblyFullPath):'C:\Users\xxx\Documents\Visual Studio 2017\Projects\WebApplication5\packages\Microsoft.Win32.Primitives.4.3.0\lib\net46\Microsoft.Win32.Primitives.dll'.
  Added package 'Microsoft.Win32.Primitives.4.3.0' to 'packages.config'
  </code></pre>
  
  <p>This only happens in .net framework 4.7.1 / 4.7.2 projects, those references are not missing in a 4.6.1 project.</p>
  
  <p>The facades dlls seem to be installed correctly in both</p>
  
  <pre><code>C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.1\Facades
  
  C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.7.2\Facades
  </code></pre>
  
  <p><a href="https://i.stack.imgur.com/yzuHO.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/yzuHO.png" alt="facades dll"></a></p>
  
  <p>And .NET Core SDK 2.1.302 is installed (and older ones too)</p>
  
  <p>I use Visual Studio 15.7.6 and NuGet 4.6.0</p>
  
  <p><a href="https://i.stack.imgur.com/Pm7cY.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Pm7cY.png" alt=".net core installs"></a></p>
  
  <p>I opened <a href="https://github.com/mperdeck/jsnlog/issues/174" rel="nofollow noreferrer">an issue to JSNLog</a>, but the maintainer is not sure either for the best course of action to prevent those missing references. Should the pakage target 4.7.x also? Should it target differently .net standard 2.0? Is there another way to prevent those missing references, or even better, prevent them from installing, as they are already part of the Framework? Should older versions of .net core be uninstalled?</p>