One or more packages are incompatible with .NETStandard,Version=v1.5

Tyson Nero picture Tyson Nero · Jun 8, 2016 · Viewed 10.9k times · Source

I created a new .NET Core Class Library and added a Nuget package from an internal company Nuget server. I began getting the following error:

Package XXXX is not compatible with netstandard1.5 (.NETStandard,Version=v1.5). Package XXXX 1.0 supports: net45 (.NETFramework,Version=v4.5) One or more packages are incompatible with .NETStandard,Version=v1.5.

I updated the project.json file to look like this but the same error persists.

{
  "version": "1.0.0-*",

  "dependencies": {
    "XXXXX": "1.0.0",
    "NETStandard.Library": "1.5.0-rc2-24027"
  },

  "frameworks": {
    "netstandard1.5": {
      "imports": [
        "dnxcore50",
        "portable-net45+win8"
      ]
    }
  }
}

Does anyone have insight on this?

Answer

Nate Barbettini picture Nate Barbettini · Jun 8, 2016

Tl;dr - it has to be netstandard all the way down!

To install a package in a .NET Core project, the package and all of its dependencies must be compatible with netstandard1.X.

It looks like your project targets netstandard1.5, but depends on a package that only targets net45. The only way to resolve this is to replace the dependency, or update it to a version that targets netstandard.

In some cases, imports will allow you to use a Portable Class Library in a .NET Core application. This isn't a general cure-all for incompatible packages, but rather a temporary fix that works with packages that already target a smaller API.