针对 .net core RC2 和 .net4.6.1 时出错

Error targeting .net core RC2 and .net4.6.1

我有以下 project.json:

{
"version": "1.0.0-*",

  "dependencies": {
    "NETStandard.Library": "1.5.0-rc2-24027",
    "Dapper": "1.50.0-rc2b",
    "Microsoft.Extensions.DependencyInjection": "1.0.0-rc2-final",
    "System.Dynamic.Runtime": "4.0.11-rc2-24027",
    "Microsoft.CSharp": "4.0.1-rc2-24027"
  },

  "frameworks": {
    "netstandard1.5": {
      "imports": "dnxcore50"
    },
    "net461": {}
  }
}

现在,我收到以下警告,我宁愿没有

Dependency specified was System.Dynamic.Runtime >= 4.0.11-rc2-24027 but ended up with System.Dynamic.Runtime 4.0.10.0.

Dependency specified was Microsoft.CSharp >= 4.0.1-rc2-24027 but ended up with Microsoft.CSharp 4.0.0.0.

从框架中删除 net461 解决了我的问题 - 但不是首选。

但是,现在我可以猜出我为什么要得到它们了,与那些不支持 net461 的库有关 - 虽然这对我来说有点奇怪。

我尝试只使用旧版本 - 但后来我收到一条警告,提示 Dapper 需要更新版本 - 有什么想法吗?

出于某种原因,将依赖项专门移动到每个框架(相同版本)也解决了这个问题

特定于框架的依赖项应在特定于框架的元素中指定。像这样:

{
  "version": "1.0.0-*",

  "dependencies": {
    "Dapper": "1.50.0-rc2b",
    "Microsoft.Extensions.DependencyInjection": "1.0.0-rc2-final",
    "System.Dynamic.Runtime": "4.0.11-rc2-24027"
  },

  "frameworks": {
    "netstandard1.5": {
      "dependencies": {
        "NETStandard.Library": "1.5.0-rc2-24027"
      },
      "imports": "dnxcore50"
    },
    "net461": {
      "dependencies": {
        "Microsoft.CSharp": "4.0.1-rc2-24027"
      }
    }
  }
}