【问题标题】:One or more packages are incompatible with .NETStandard,Version=v1.5一个或多个包与 .NETStandard 不兼容,Version=v1.5
【发布时间】:2016-10-09 04:37:05
【问题描述】:

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

包 XXXX 与 netstandard1.5 不兼容 (.NET 标准,版本=v1.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"
      ]
    }
  }
}

有人对此有见解吗?

【问题讨论】:

  • @HansPassant 据我了解,.NET 平台标准现已完成。未来会有附加的变化,但不会是破坏性的。

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


【解决方案1】:

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

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

看起来您的项目以netstandard1.5 为目标,但依赖于仅以net45 为目标的包。解决此问题的唯一方法是替换依赖项,或将其更新为以netstandard 为目标的版本。

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

【讨论】:

  • 我看到一些参考资料说包括“portable-net4+win8”,net4 作为框架版本将解决这个问题。例如。 docs.efproject.net/en/latest/miscellaneous/….
  • @GrandMasterT 导入portable-net45+netcore45+wp8 对你有用吗?
  • @GrandMasterT 只有当包是可移植类库时才能工作。你的包裹好像不是这样的。
  • @NateBarbettini 不,在我的情况下导入不起作用。我知道它确实适用于其他几个 Nuget 包或库。 EF 和 xUnit 只是两个例子。
猜你喜欢
  • 2021-03-04
  • 2016-10-21
  • 2019-02-24
  • 1970-01-01
  • 2020-02-25
  • 2017-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多