一个或多个软件包与.NETStandard,Version = v1.5不兼容

时间:2016-06-08 18:44:30

标签: .net .net-core .net-core-rc2

我创建了一个新的.NET Core类库,并从内部公司Nuget服务器添加了一个Nuget包。我开始收到以下错误:

  

包XXXX与netstandard1.5不兼容   (.NETStandard,版本= 1.5版)。包XXXX   1.0支持:net45(.NETFramework,Version = v4.5)一个或多个软件包与.NETStandard不兼容,Version = v1.5。

我将project.json文件更新为这样,但同样的错误仍然存​​在。

{
  "version": "1.0.0-*",

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

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

有没有人对此有所了解?

1 个答案:

答案 0 :(得分:11)

Tl; dr - 必须是netstandard all the way down

要在.NET Core项目中安装软件包,软件包的所有依赖项必须与netstandard1.X兼容。

您的项目似乎定位netstandard1.5,但取决于仅定位net45的程序包。解决此问题的唯一方法是替换依赖项,或将其更新为以netstandard为目标的版本。

在某些情况下,imports将允许您在.NET Core应用程序中使用Portable Class Library。对于不兼容的软件包,这不是一般的解决方法,而是一个临时修复,适用于已经针对较小API的软件包。