title: Your project is not referencing the ".NETFramework,Version=v4.5" framework.
body: <p>I am using VS 2015.</p>
  
  <blockquote>
    <p>Your project is not referencing the ".NETFramework,Version=4.5"
    framework. Add a reference to ".NETFramework,Version=4.5" in the
    "frameworks" section of your project.json, and then re-run NuGet
    restore.</p>
  </blockquote>
  
  <p>I am getting this error on my Data Access and Business Logic layers, shortly after adding to my MVC Layer. Things were building fine until then, but I don't know what triggered this error. Here is my project.json:</p>
  
  <pre><code>{
    "version": "1.0.0-*",
    "description": "foo bar Class Library",
    "authors": [ "foo bar" ],
    "tags": [ "" ],
    "projectUrl": "",
    "licenseUrl": "",
  
    "frameworks": {
      "net451": { },
      "dotnet5.4": {
        "dependencies": {
          "Microsoft.CSharp": "4.0.1-beta-23516",
          "System.Collections": "4.0.11-beta-23516",
          "System.Linq": "4.0.1-beta-23516",
          "System.Runtime": "4.0.21-beta-23516",
          "System.Threading": "4.0.11-beta-23516"
        }
      }
    }
  }
  </code></pre>
  
  <p>Here's what I have tried:</p>
  
  <ol>
  <li>Replacing "dotnet5.4" with "net451" (and deleting it) as found in <a href="https://stackoverflow.com/questions/34211191/entityframework-6-1-3-does-not-support-framework-netplatform-version-v5-4-on-vi">this answer</a>.</li>
  </ol>
  
  <p>Result is the same error.</p>
  
  <ol start="2">
  <li>Replacing "dotnet5.4" with "net45" and leaving the "net451". This results in a new error:</li>
  </ol>
  
  <blockquote>
    <p>Your project.json doesn't have a runtimes section. You should add
    '"runtimes": { "win":{} }' to your project.json and then re-run NuGet
    restore.</p>
  </blockquote>
  
  <p>I tried doing as this error suggested and adding</p>
  
  <pre><code>"runtimes": {
      "win":  {}
    },
  </code></pre>
  
  <p>This got me this error, which I can't seem to move past:</p>
  
  <blockquote>
    <p>Your project.json doesn't list 'win' as a targeted runtime. You should
    add '"win": {}' inside your "runtimes" section in your project.json,
    and then re-run NuGet restore.</p>
  </blockquote>
  
  <p>I've already added "win", and this is beginning to feel like a red herring. What am I doing altering the project.json directly, isn't NuGet handling this?</p>