.NETStandard Library nuget包 - 无法在标准项目上安装

时间:2016-10-14 11:49:35

标签: c# nuget .net-core

我的.NET Core项目包含以下project.json

{
  "version": "1.0.0-*",

  "dependencies": {
    "NETStandard.Library": "1.6.0"
  },

  "frameworks": {
    "netstandard1.6": {
      "imports": "dnxcore50"
    }
  },

  "scripts": {
    "postcompile": [
      "dotnet pack --no-build --configuration %compile:Configuration%"
    ]
  }
}

我创建了nuget包(参见上面的postcompile)并在nuget中发布。

然后我创建了标准的4.6.2库,但是无法安装包 - 有错误的包不包含目标.NET Framework 4.6.2的有效程序集。

我应该如何准备nuget包以使其在标准库中可用?我认为目标NETStandard对核心项目和标准项目都有效。

2 个答案:

答案 0 :(得分:5)

如果检查.Net Standard的兼容性矩阵,看起来.Net 4.6.2仅支持NetStandard 1.5。在框架下,您的目标是标记为vNext的1.6。

See here for the compatibility matrix to know what version you should target

因此换句话说,如果您将配置更改为以下内容,您应该可以自由引用该库:

"frameworks": 
{
    "netstandard1.5": {}
}

您不需要在另一个答案中添加其他框架类型,因为4.6.2应该能够引用1.5标准。

答案 1 :(得分:1)

您应该可以添加对.Net Framework 4.6.2的支持,并在您的project.json中添加“net462”:

warning: explicit link request to 'include' could not be resolved

see also my project.json on github with a few supported frameworks