我已经使用 ASP.NET 5 MVC6 项目和一些类库创建了一个解决方案。我正在使用 Visual Studio 2015,目标是“dnxcore50”和“net451”。
在类库中,我使用 EF7 编写存储库代码。在一个类中,我试图在 DbSet<> 上使用一些方法。即“.Where(...)”、“.Single(...)”和“.First(...)”。这些在旧版本的 .NET 上可用。
我收到以下 2 个错误:
.NET Framework 4.5.1 error CS0012: The type 'IEnumerable<>' 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'.
.NET Framework 4.5.1 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'.
它似乎在 DNXCORE50 格式中构建没有问题,但不是完整的 4.5.1 版本的 .NET。
我在 project.json 文件中有这个:
"frameworks": {
"net451": {
"dependencies": {
"System.Runtime": "4.0.21-beta-23516"
}
},
"dnxcore50": {
"dependencies": {
"System.Runtime": "4.0.21-beta-23516"
......
}
}
}
我的目标是 1.0.0-rc1-final DNX SDK 版本。
有什么想法吗?
最佳答案
好吧,我终于想出了原因。如果创建类库,则 project.json 文件具有:
"net451": { },
在“框架”部分。如果我将其更改为:
"dnx451": { },
然后就可以了。我不是 100% 确定这是否会影响其他任何事情。但我现在会使用它。
关于asp.net-mvc - 尝试将 DbSet<TEntity>.Where() 与 EF7 和 ASP.NET5 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34397406/