title: Visual Studio 2017 won't load .NET Framework references in .NET Standard library
body: <p>I've installed Visual Studio 2017. I have a class library in the new .NET Standard format, which is able to be used by both .NET Framework and .NET Core. But when I go to <kbd>Add…</kbd> <kbd>Reference…</kbd> <kbd>Assemblies</kbd> <kbd>Framework</kbd>, Visual Studio spins for a long time and then says, </p>
  
  <blockquote>
    <p>No Framework assemblies were found on the machine.</p>
  </blockquote>
  
  <p>(This machine also has Visual Studio 2015 installed, as well as .NET 4.6.1.) </p>
  
  <p>How do I resolve this?</p>
  
  <p>My <code>.csproj</code> file currently looks like this:</p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;Project Sdk="Microsoft.NET.Sdk"&gt;
  
    &lt;PropertyGroup&gt;
      &lt;TargetFrameworks&gt;net461;netstandard2.0&lt;/TargetFrameworks&gt;
    &lt;/PropertyGroup&gt;
  
    &lt;ItemGroup&gt;
      &lt;Compile Remove="Utility\EncryptionUtility.cs" /&gt;
    &lt;/ItemGroup&gt;
  
    &lt;ItemGroup&gt;
      &lt;Folder Include="Utility\" /&gt;
    &lt;/ItemGroup&gt;
  
    &lt;ItemGroup&gt;
      &lt;Reference Include="System.Runtime.Caching" /&gt;
    &lt;/ItemGroup&gt;
  
  &lt;/Project&gt;
  </code></pre>
  
  <p>Changing the target framework from:</p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;TargetFramework&gt;netstandard2.0&lt;/TargetFramework&gt;
  </code></pre>
  
  <p>to </p>
  
  <pre class="lang-xml prettyprint-override"><code>&lt;TargetFrameworks&gt;net461;netstandard2.0&lt;/TargetFrameworks&gt;
  </code></pre>
  
  <p>Allows me to finally add a reference to <code>System.Runtime.Caching</code>, but it has a yellow warning icon in the IDE when expanding the references. It is included under both .NET 4.6.1 and .NET Standard in the collapsible sections, with the reference under Standard also shows the warning icon. Builds fail because the IDE claims that the reference is still missing.</p>