微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

asp.net-core – 为什么在我的ASP.NET Core 1.0(MVC6)项目中看不到我的Core 1库?

我有一个小类库(核心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 Core),我希望使用类库.几乎无处不在,我看,只是将库添加到其主项目的依赖项部分项目文件.它就在顶部:

"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.

更多细节here

注意,我省略了“import”:“dnxcore50”

{
    "version": "1.0.0-*","NETStandard.Library": "1.6.0","frameworks": {
        "netstandard1.5": { }
    }
}

同样,在另一个project.json中这样做:

"dependencies": {
    "WideWorld.Filing": "1.0.0.0","Microsoft.NETCore.App": {
        "version": "1.0.0","Microsoft.ApplicationInsights.AspNetCore": "1.0.0"

有关packages的其他详细信息.

原文地址:https://www.jb51.cc/netcore/247336.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐