2015-12-21 62 views
2

我創建了一個ASP.NET 5 MVC6項目和一些類庫的解決方案。我使用的是Visual Studio 2015,我的目標是「dnxcore50」和「net451」。嘗試使用DbSet <TEntity>。Where()with EF7 and ASP.NET5

在類庫中,我使用EF7編寫存儲庫代碼。在一個類中,我試圖在DbSet上使用幾種方法>。即「.Where(...)」,「.Single(...)」和「.First(...)」。這些在舊版本的.NET上可用。

我正在以下2個錯誤:

.NET框架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格式的問題,但不是完整的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決賽DNX SDK版本。

任何想法?

回答

6

好吧,我終於想到我設法弄清楚了爲什麼。如果您創建類庫,project.json文件具有:

"net451": { }, 

在「框架」部分。如果我將其更改爲:

"dnx451": { }, 

它然後工作。我不是100%確定這是否會觸發其他事情。但現在我會用它。

+0

感謝分享使用net451。這對我有用 – zenixgrace

1

額外的答案,我們仍然可以通過添加 「System.Runtime」

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

相關問題