title: Referencing between NetStandard and .Net Framework
body: <p>I'm trying to get .Net Framework and NetStandard assemblies to communicate with each other (to learn what is possible). I currently have four projects, two Framework 4.5.2 projects and two NetStandard1.2 projects:</p>
  
  <ol>
  <li><code>Framework452.Library</code></li>
  <li><code>NetStandard12.CentralLibrary</code></li>
  <li><code>NetStandard12.BaseLibrary</code></li>
  <li><code>Framework452.Tests</code></li>
  </ol>
  
  <p>The referencing structure is:</p>
  
  <ul>
  <li><code>Framework452.Tests</code> references <code>NetStandard12.CentralLibrary</code>: working by adding the NetStandard.Library nuget package to <code>Framework452.Tests</code>.</li>
  <li><code>NetStandard12.CentralLibrary</code> references <code>NetStandard12.BaseLibrary</code>: working without modification.</li>
  <li><code>NetStandard12.CentralLibrary</code> references <code>Framework452.Library</code>: Not working, even when <code>Framework452.Library</code> has the NetStandard.Library nuget package installed.</li>
  </ul>
  
  <p>Can NetStandard projects reference Framework projects? If so, what do I need to do to get them to communicate? At the moment I can add the reference, but it is not visible to the code.</p>
  
  <p><strong>Update</strong></p>
  
  <p>I recreated the solution and added the code below, which when I try to compile gives the following error from the <code>Framework452.Tests</code> project:</p>
  
  <blockquote>
    <p>Error CS0006: Metadata file
    '~\TryNETStandard\NetStandard12.CentralLibrary\bin\Debug\netstandard1.2\NetStandard12.CentralLibrary.dll'
    could not be found.</p>
  </blockquote>
  
  <pre class="lang-cs prettyprint-override"><code>namespace Framework452.Library
  {
      public class Returner452 {
          public static bool ReturnTrue() { return true; }
      }
  }
  
  
  using Xunit;
  namespace Framework452.Tests
  {
      public class Class1 {
          [Fact]
          public void FrameworkTest() {
              Assert.True(NetStandard12.CentralLibrary.Class1.Return452());
          }
  
          [Fact]
          public void NetStandardTest() {
              Assert.True(NetStandard12.CentralLibrary.Class1.Return12());
          }
      }
  }
  
  
  namespace NetStandard12.BaseLibrary
  {
      public class Returner12 {
          public static bool ReturnTrue() { return true; }
      }
  }
  
  
  using Framework452.Library;
  using NetStandard12.BaseLibrary;
  namespace NetStandard12.CentralLibrary
  {
      public class Class1
      {
          public static bool Return452() { return Returner452.ReturnTrue(); }
          public static bool Return12() { return Returner12.ReturnTrue(); }
      }
  }
  </code></pre>