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?
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.