【发布时间】:2016-06-10 17:44:43
【问题描述】:
我有以下 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 期望使用新版本 - 有什么想法吗?
出于某种原因,将依赖项移动到每个框架(相同版本)也可以解决这个问题
【问题讨论】:
-
我无法重现这一点,您的 project.json 不会对我产生任何警告。而且这两个包都支持
net45。 -
奇怪,我设法用一个新的核心类库项目重现它
-
@gilmishal 我可以重现警告。但是为什么你仍然需要这些依赖项呢?引用 Dapper 将隐式添加它们。你能把它们删掉吗?
-
删除这些会导致以下错误“缺少编译器所需的成员 'Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create'”
-
我怀疑有一个构建规则隐藏在某处想要说出来,因为已解决的程序集的版本号较低。真的是最好点击New Issue button。
标签: c# .net dapper .net-core .net-4.6