我已经使用ASP.NET 5 MVC6项目和一些类库创建了一个解决方案.我正在使用Visual Studio 2015,我的目标是"dnxcore50"和"net451".
在类库中,我使用EF7编写存储库代码.在一个类中,我试图在DbSet <>上使用一些方法.即".Where(...)",".Single(...)"和".First(...)".这些可以在旧版本的.NET上获得.
我收到以下2个错误:
.NET Framework 4.5.1错误CS0012:类型"IEnumerable <>"在未引用的程序集中定义.您必须添加对程序集'System.Runtime,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'的引用.
.NET Framework 4.5.1错误CS0012:类型"Func <,>"在未引用的程序集中定义.您必须添加对程序集'System.Runtime,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'的引用.
它似乎在DNXCORE50格式中没有问题,但不是.NET的完整4.5.1版本.
我在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": { },
它然后工作.我不是百分之百确定这是否会对其他任何事情产生影响.但我现在会用它.