【问题标题】:Referencing mscorlib 4.0.0.0 from .NET Core 1.0 class library从 .NET Core 1.0 类库中引用 mscorlib 4.0.0.0
【发布时间】:2016-12-03 10:36:24
【问题描述】:

我有一个 .NET Core 1.0 类库,它以 .NET 4.6.1 为目标并引用 .NET Standard Library 1.6.0 和 Identity Framework 2.2.1

project.json

{
    "version": "1.0.0-*",

    "dependencies": {
        "Microsoft.AspNet.Identity.EntityFramework": "2.2.1",
        "System.Runtime": "4.1.0",
        "NETStandard.Library": "1.6.0"
    },

    "frameworks": {
        "netstandard1.6": {
            "imports": [
                "net461"
            ]
        }
    }
}

在我的项目中,我只是创建身份模型,它扩展了基本身份框架模型(用户、角色等)。当我尝试编译时,会发生这种情况...

有什么办法解决这个问题吗?

【问题讨论】:

  • 您是否添加了对 mscorlib v4.0.0.0 的引用?
  • @Tim,我假设不是,因为我不确定如何在 .NET Core 类库中做到这一点
  • 可能与添加其他依赖项的方式相同?在 project.json 文件中?我不能 100% 确定,因为我还没有大量使用 .NET Core 1.0。
  • @Tim,在这方面似乎没有“mscorlib”参考。
  • 在依赖项下甚至没有像 "mscorlib": "4.0.0.0" 这样的东西?

标签: c# entity-framework .net-core class-library


【解决方案1】:

Microsoft 有一个可以提供帮助的 nuget 包。我不知道它是如何工作的细节,但它解决了我的依赖问题:

https://www.nuget.org/packages/Microsoft.NETCore.Portable.Compatibility/

或者只是在包管理器控制台中运行它:

Install-Package Microsoft.NETCore.Portable.Compatibility -Version 1.0.1

编辑: 这已添加到 .net core 1.1 项目中。

【讨论】:

  • 谢谢你。像魅力一样工作
【解决方案2】:

这里你的项目文件有两个问题,一个很容易修复,一个无法修复;)

  • 您的项目net461netstandard1.6 为目标。你的 project.json 说的是:为netstandard1.6 构建目标并欺骗 NuGet 并声称你是net461(撒谎就是import 所做的......不相信我,查一下;))。由于您的 project.json 对 NuGet 撒谎,因此您可以添加 Microsoft.AspNet.Identity.EntityFramework。并行添加 net461netstandard1.6 也无济于事,因为您无法添加依赖项。
  • NuGet 依赖项 Microsoft.AspNet.Identity.EntityFramework 于 2015 年发布,基于 .NET Framework(基于 mscorlib),而不是基于 .NET Standard / .NET Core(基于 System.Runtime)。说谎无助于依赖是基于mscorlib 而不是System.Runtime

您可以尝试的是(正确地)并行定位net461netstandard1.6,并尝试使用#ifdefs 分别使用Microsoft.AspNet.Identity.EntityFrameworkMicrosoft.AspNetCore.Identity.EntityFrameworkCore 进行并行实现。但是,结果会有多大用处,我不知道将使用什么生成的库;)

【讨论】:

  • 壮观的答案。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-14
  • 2018-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多