c# - 从 .NET Core 1.0 类库中引用 mscorlib 4.0.0.0

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

我有一个 .NET Core 1.0 类库,它以 .NET 4.6.1 为目标并引用 .NET 标准库 1.6.0 和身份框架 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"
            ]
        }
    }
}

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

enter image description here

enter image description here

有什么解决办法吗?

最佳答案

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

  • 您的项目针对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 并尝试使用 Microsoft.AspNet.Identity 进行并行实现.EntityFrameworkMicrosoft.AspNetCore.Identity.EntityFrameworkCore 分别使用#ifdefs。然而,结果会有多大用处,我不知道结果库将被使用什么 ;)

关于c# - 从 .NET Core 1.0 类库中引用 mscorlib 4.0.0.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38646466/

相关文章:

sql-server - 在模型优先 Entity Framework 中使用 SmallDateType

c# - 如何在 MVC 中定义 @Html.DisplayFor 的最大长度?

c# - 我应该使用 Entity Framework 、数据集还是自定义类?

c# - asp.net Core 1.1 分块响应

c# - .net Core 中所有 HttpClient 实例的默认配置

c# - "ReferenceEquals(myObject, null)"比 "myObject == null"更好吗?

c# - 如何将我的 C# 程序作为计划任务运行

c# - 匿名类型列表的声明

c# - 形成sql以将bool返回给c#

c# - EF Core 2.0 - 添加时出现 System.NotSupportedException