【问题标题】:Installing Entity Framework using dnu install - multiple reference issue使用 dnu install 安装实体框架 - 多参考问题
【发布时间】:2015-12-30 06:09:23
【问题描述】:

我正在使用 VS Code 和 DNX 开发一个 Web API。目前我需要安装实体框架。当我使用dnu install EntityFramework 安装软件包时,没有错误。它在package.json 文件中添加条目"EntityFramework": "7.0.0-beta4" 并更新project.lock.json

但是当我使用 dnu build 编译应用程序时,我收到以下错误消息并且构建失败:

IHostingEnvironment 存在于 Microsoft.AspNet.Hosting.Abstractions 和 Microsoft.AspNet.Hosting.Interfaces 中

我的 DNX 版本是4.5.1

我不知道这个问题!有人请告诉我如何解决这个问题。

提前致谢。

更新:

当我从project.json 文件中删除条目"EntityFramework": "7.0.0-beta4" 时,运行dnu restore 然后使用dnu build 重新编译它是成功的。我的猜测是我的应用程序中已经默认安装了EntityFramework(?)。如果是这样,当我在控制器中添加命名空间System.Data.Entity 时,它没有得到解决。

我收到的信息是:

命名空间“System”中不存在类型或命名空间“Data”(您是否缺少程序集引用?)[dnx451, dnx451, dnxcore50, dnxcore50]

System.Data 不会自动安装吗?

更新(project.json 文件)

{
  "version": "1.0.0-*",
  "compilationOptions": {
    "emitEntryPoint": true
  },
  "tooling": {
    "defaultNamespace": "apiservice"
  },
  "dependencies": {
    "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.Extensions.Configuration.FileProviderExtensions": "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",
    "System.Net.Http": "4.0.1-beta-23516",
    "Microsoft.Net.Http": "2.2.29",
    "EntityFramework": "7.0.0-beta4"
  },
  "commands": {
    "web": "Microsoft.AspNet.Server.Kestrel"
  },
  "frameworks": {
    "dnx451": {},
    "dnxcore50": {}
  },
  "exclude": [
    "wwwroot",
    "node_modules",
    "bower_components"
  ],
  "publishExclude": [
    "**.user",
    "**.vspscc"
  ]
}

【问题讨论】:

  • 这听起来像是您的 project.json 的问题。能发一下代码吗?
  • 嗨罗伯托,我已经用project.json 代码更新了我的问题。

标签: c# entity-framework asp.net-core dnx system.data


【解决方案1】:

您可能应该删除接口并只使用抽象,因为此包已重命名。

见公告:https://github.com/aspnet/Announcements/issues/14

【讨论】:

  • 谢谢!删除这些接口参数会编译应用程序。现在我看到System.Data namaespace 可用。但即使安装了EntityFramework,我也没有得到System.Data.Entity 命名空间。为什么会这样?
猜你喜欢
  • 2016-10-21
  • 1970-01-01
  • 1970-01-01
  • 2011-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多