无法在类库中引用ASP.NET 5中的EF

时间:2015-12-03 06:26:40

标签: c# asp.net-mvc entity-framework resharper asp.net-core

无法在类库中引用ASP.NET 5中的EF。我不知道为什么。 Visual Studio什么都没显示。我尝试使用ALT + ENTER(resharper快捷方式)引用EF。我怎样才能解决我的问题?

enter image description here

1 个答案:

答案 0 :(得分:1)

我还没有好运,Resharper还没有为我提供NuGet套餐。我也在运行最新版本。我认为这是因为ASP.NET 5仍处于RC状态,因此尚未准备好完全支持。

解决您的问题:

您的类库可能会定位net451dotnet5.4

  "frameworks": {
    "net451": { },
    "dotnet5.4": {
      "dependencies": {
        "Microsoft.CSharp": "4.0.1-beta-23516",
        "System.Collections": "4.0.11-beta-23516",
        "System.Linq": "4.0.1-beta-23516",
        "System.Runtime": "4.0.21-beta-23516",
        "System.Threading": "4.0.11-beta-23516"
        // etc
      }
    }
  }

但是,这要求您的依赖项也支持dotnet5.4。我发现很多软件包还没有转移到这个新的名字。为了解决这个问题,我不得不将我的目标更改为dnxcore50并摆脱net451(因为我试图仅针对.NET核心,而不是完整的.NET框架)。

这解释了为什么你能够在控制台项目中使用EF - 它默认使用dnxcore50:)

  "frameworks": {
    "dnxcore50": {
      "dependencies": {
        "Microsoft.CSharp": "4.0.1-beta-23516",
        "System.Collections": "4.0.11-beta-23516",
        "System.Linq": "4.0.1-beta-23516",
        "System.Runtime": "4.0.21-beta-23516",
        "System.Threading": "4.0.11-beta-23516"
        // etc
      }
    }
  }

在此更改之后,Resharper能够看到我作为依赖项添加的新软件包,我可以点击Alt+Enter将其拉入。注意:我还必须在{{1}中手动添加软件包或者通过NuGet包管理器。在我完成之后,Resharper表现得很好。