为什么在我的ASP.NET Core 1.0(MVC6)项目中看不到我的Core 1库?
我有一个小型的类库(Core 1),这样其他应用程序也可以使用它,以及所有这些原因。 它只有POCO模型类和一个DbContext
派生。 其项目文件如下所示:
{
"version": "1.0.0-*",
"dependencies": {
"Microsoft.EntityFrameworkCore.SqlServer": "1.0.0",
"NETStandard.Library": "1.5.0-rc2-24027",
"System.ComponentModel.Annotations": "4.1.0"
},
"frameworks": {
"netstandard1.5": {
"imports": "dnxcore50"
}
}
}
然后我有一个ASP.NET核心Web应用程序(.NET核心),我希望在其中使用类库。几乎在任何地方我看,我看,说只是将库添加到它的主项目的dependencies
部分项目文件。 它就在顶端:
"dependencies": {
"WideWorld.Filing": "1.0.0.0",
"Microsoft.NETCore.App": {
"version": "1.0.0-rc2-3002702",
"type": "platform"
},
"Microsoft.ApplicationInsights.AspNetCore": "1.0.0-rc2-final",
我甚至无法在主项目中看到库命名空间WideWorld.Filing
,显然,我可以看到它的命名空间WideWorld.Office
。 我对Core 1非常非常新,并且以前只能构建monolith web应用程序,所以如果我错过了某些明显的东西,请原谅我的无知。
如果我在主项目上执行包还原,则会在日志中看到三条警告(以及其他看起来无害的内容):
warn : Detected package downgrade: Microsoft.EntityFrameworkCore.SqlServer from 1.0.0 to 1.0.0-rc2-final
warn : WideWorld.Office (>= 1.0.0) -> WideWorld.Filing (>= 1.0.0) -> Microsoft.EntityFrameworkCore.SqlServer (>= 1.0.0)
warn : WideWorld.Office (>= 1.0.0) -> Microsoft.EntityFrameworkCore.SqlServer (>= 1.0.0-rc2-final)
问题是你在混合包版本。 例如, RTM
和RC2
软件包不兼容。 您应该将所有内容都定位为RC2
(我建议不要)或采取更优先的方法,并将所有包引用升级到RTM
,定位版本1.0.0
。
更多细节在这里:
请注意,我省略了"import": "dnxcore50"
{
"version": "1.0.0-*",
"dependencies": {
"Microsoft.EntityFrameworkCore.SqlServer": "1.0.0",
"NETStandard.Library": "1.6.0",
"System.ComponentModel.Annotations": "4.1.0"
},
"frameworks": {
"netstandard1.5": { }
}
}
同样,在另一个project.json
执行此操作:
"dependencies": {
"WideWorld.Filing": "1.0.0.0",
"Microsoft.NETCore.App": {
"version": "1.0.0",
"type": "platform"
},
"Microsoft.ApplicationInsights.AspNetCore": "1.0.0"
有关套餐的更多详情。
链接地址: http://www.djcxy.com/p/35733.html上一篇: Why can't my Core 1 library be seen in my ASP.NET Core 1.0 (MVC6) project?
下一篇: Bootstrapping an Angular 2 rc.6 hybrid app using ngUpgrade with routing