2016-06-10 108 views
4

我有以下project.json:错误定位.NET核心RC2和.net4.6.1

{ 
"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--尽管对我来说似乎有点奇怪。

我试着使用旧版本 - 但后来我得到一个警告,小飞机期待更新版本的那些 - 任何想法?

出于某种原因,移动依赖于每个框架特异性(同一版本)解决了这个问题太

+0

我无法重现这一点,您的project.json不会为我产生任何警告。这两个软件包都支持'net45'。 – svick

+0

奇怪,我设法用一个新的核心类库项目重现它 – gilmishal

+0

@gilmishal我可以重现警告。但是,为什么你需要这些依赖?引用Dapper将隐式添加它们。你可以删除它们吗? –

回答

2

的框架专用的依赖应的框架专用元素中指定。像这样:

{ 
    "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" 
     } 
    } 
    } 
} 
+0

这就是我最终做的.. – gilmishal