在带有 EF 核心的 Nuget Class 库上使用 .NET 4.6.1 编译时出错

Error during compilation with .NET 4.6.1 on a Nuget Class Library with EF core

我在编译两个 .NET class 库时遇到问题。 问题发生在构建目标 .NET4.6.1(或 4.5.2、4.6 或其他,我都试过了)的过程中。

.NET Framework 4.6 error CS0012: The type 'Func<,>' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'

我已经添加了对 project.json 的依赖:

"dependencies": {
  "BusinessCore": "1.0.0-*",
  "EntityFramework.Core": "7.0.0-rc1-final",
  "System.Runtime": "4.0.21-beta-23516"
}

但这并没有改变任何东西。尝试通过查看我的系统驱动器上的 dll 来添加为参考也不会改变任何东西。 有人遇到过这个问题吗?

我认为您应该将 .dll 作为 'Add Reference' 添加到您在 VS 中的项目中。它应该可以正常工作。

在 VS 中右键单击您的项目并 'Add Reference'。你试过了吗?

终于找到解决办法了,我补充

"frameworkAssemblies": {
    "System.Runtime": ""
  }

在我的net451框架下。然后System.Runtime被Net Framework引入,编译问题就没有了。