【问题标题】:Unable to install EntityFramework 6.1.3 in VS2015 web projectVS2015 web项目无法安装EntityFramework 6.1.3
【发布时间】:2016-05-24 03:54:20
【问题描述】:

在我的 VS2015 WebApi 项目中,我尝试使用包管理器中的以下命令安装 NuGet 包 EntityFramework 6.1.3。该命令成功运行,如下面的消息所示。但是这个包还没有安装,编译项目的时候报错:

PM> Install-Package EntityFramework
Installing NuGet package EntityFramework.6.1.3.
Successfully installed 'EntityFramework 6.1.3' to myWebProjectName

编译错误: 错误 NU1001 无法解析依赖 EntityFramework >= 6.1.3。 myWebProjectName C:...\WebAPI\ProductService\src\ProductService\project.json

这是我的 project.json 文件

{
  "version": "1.0.0-*",
  "compilationOptions": {
    "emitEntryPoint": true
  },

  "dependencies": {
    "EntityFramework": "6.1.3",
    "Microsoft.ApplicationInsights.AspNet": "1.0.0-rc1",
    "Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
    "Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
    "Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
    "Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
    "Microsoft.AspNet.WebApi.OData": "5.7.0",
    "Microsoft.Extensions.Configuration.FileProviderExtensions": "1.0.0-rc1-final",
    "Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final",
    "Microsoft.Extensions.Logging": "1.0.0-rc1-final",
    "Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final",
    "Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final"
  },

  "commands": {
    "web": "Microsoft.AspNet.Server.Kestrel",
  },

  "frameworks": {
    "dnx451": { },
    "dnxcore50": { }
  },

  "exclude": [
    "wwwroot",
    "node_modules"
  ],
  "publishExclude": [
    "**.user",
    "**.vspscc"
  ]
}

更新

项目中的Reference文件夹为空,没有安装NuGet包,如下项目截图所示:

解决方案资源管理器窗口:

更新 2

在我关闭项目并重新打开后,Reference 文件夹显示两个文件夹 DNX 4.5.1 和 DNX Core5.0,并带有一些错误图标,如下所示:

【问题讨论】:

  • 您可能想查看this answer。基本上显然现在有一个叫做 EntityFrameworkCore 的东西。

标签: c# entity-framework asp.net-web-api visual-studio-2015 asp.net-core


【解决方案1】:

我假设您使用 ASP.NET 5 模板来创建您的 Web API 项目。

右键单击项目中的引用文件夹,然后单击“恢复包”。然后重建。

我认为 DNX Core 不支持 Entity Framework 6。因此,您可能还必须删除该引用。右键单击 DNX Core 5.0 下的“EntityFramwork”,然后单击“卸载包”。

你看到这张图片中的 DNX 了吗?

【讨论】:

  • 是的,我正在使用 ASP.NET 5 Web API 模板。恢复包后(根据您的说明),当我重建项目时,出现错误:The dependency Microsoft.Data.Edm 5.6.0 in project myWebProjectName does not support framework DNXCore,Version=v5.0
  • 这个错误可能是真的。这意味着,DNXCore 可能不支持 EF6。如果您可以依赖 DNX 4.5.1,那么我也会从 DNXCore 下卸载该软件包。这很奇怪,因为我认为 Edm 不会默认安装或与 EF 一起安装。
  • 我添加了我的项目的屏幕截图以及 UPDATE 部分。没有安装包。
  • 关闭项目并重新打开后,我看到了 DNX 内容,如上面我的新 UPDATE 2 部分所示。
  • 工具有点落后。你需要等待,看看 VS Update 2 中有什么(或者去安装 RC)。
【解决方案2】:

将实体框架"EntityFramework": "6.1.3" 替换为 "EntityFramework.Commands": "7.0.0-rc1-final", 它正常工作,然后构建它。另请参阅我添加的截图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-21
    • 2016-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-13
    相关资源
    最近更新 更多