C# 针对.net核心RC2和.net4.6.1的错误

C# 针对.net核心RC2和.net4.6.1的错误,c#,.net,dapper,.net-core,.net-4.6,C#,.net,Dapper,.net Core,.net 4.6,我有以下project.json: { "version": "1.0.0-*", "dependencies": { "NETStandard.Library": "1.5.0-rc2-24027", "Dapper": "1.50.0-rc2b", "Microsoft.Extensions.DependencyI

我有以下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": {}
  }
}
现在,我得到了以下警告,我宁愿不要

指定的依赖项为System.Dynamic.Runtime>=4.0.11-rc2-24027,但最终为System.Dynamic.Runtime 4.0.10.0

指定的依赖项为Microsoft.CSharp>=4.0.1-rc2-24027,但最终为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"
      }
    }
  }
}

我无法复制此内容,您的project.json不会为我生成任何警告。而且这两个包都支持
net45
project@gilmishal我可以复制这些警告。但你为什么需要这些依赖关系呢?引用Dapper将隐含地添加它们。您可以删除它们吗?删除这些结果时会出现以下错误“缺少编译器所需的成员‘Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create’”。我怀疑某个地方隐藏了一条生成规则,该规则需要说明,因为解析的程序集的版本号较低。真的很不错,最好点击一下。