【问题标题】:.net core 1.0.0 with entity framework core sqlite.net core 1.0.0 与实体框架核心 sqlite
【发布时间】:2016-07-05 13:51:06
【问题描述】:

我正在尝试创建一个连接到 sqlite 数据库的 .net 核心应用程序。

我已经安装了 .net core sdk 1.0 并在我的项目中添加了以下 Nuget 包:

  • Microsoft.EntityFrameworkCore.Sqlite
  • Microsoft.EntityFrameworkCore.Sqlite.Design

我正在使用以下 project.json 文件:

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

  "dependencies": {
    "Microsoft.EntityFrameworkCore.Sqlite": "1.0.0",
    "Microsoft.EntityFrameworkCore.Sqlite.Design": "1.0.0",
    "Microsoft.NETCore.App": {
      "type": "platform",
      "version": "1.0.0"
    },
  },

  "tools": {
    "Microsoft.EntityFrameworkCore.Tools": 
       {
      "version": "1.0.0-final",
      "imports": [ 
        "portable-net45+win8+dnxcore50",
        "portable-net45+win8"
      ]
    }
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": "dnxcore50"
    }
  }
}

然后我运行以下命令:

dotnet restore

现在我想检查 ef 工具是否已成功安装以创建迁移。但是当我运行时:

dotnet ef --help

我得到以下结果:

The specified framework 'Microsoft.NETCore.App', version '1.0.0-rc2-3002702' was not found.
  - Check application dependencies and target a framework version installed at:
      C:\Program Files\dotnet\shared\Microsoft.NETCore.App
  - The following versions are installed:
      1.0.0
  - Alternatively, install the framework version '1.0.0-rc2-3002702'.

是否可以将候选版本 2 与 1.0 版本一起安装,我是否真的必须这样做才能让实体框架与 .net core 1.0 一起运行?

【问题讨论】:

  • 您必须同时更新两者才能进入 RTM 状态。你不能不匹配版本。检查您的 Global.json 文件是否具有适当的“sdk”:{

标签: c# sqlite entity-framework-core .net-core


【解决方案1】:

您必须同时更新两者才能进入 RTM。你不能不匹配版本。检查您的 Global.json 文件是否具有适当的 "sdk":{ "version" : "1.0.0-preview2-003121" } 存在。

【讨论】:

  • 感谢您的帮助。 global.json 有正确的版本。但是如何将实体框架更新为 RTM?根据 Nuget,我已经有了最新版本。还是我只需要使用更新版本的实体框架工具?
【解决方案2】:

我发现了如何做到这一点。更改基于https://docs.efproject.net/en/latest/miscellaneous/rc2-rtm-upgrade.html

  1. 将工具的版本更改为 1.0.0-preview2-final
  2. 删除框架部分中的导入
  3. 向 Microsoft.EntityFrameworkCore.Design 添加依赖项

这是完整的project.json:

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

  "dependencies": {
    "Microsoft.EntityFrameworkCore.Design": "1.0.0-preview2-final",
    "Microsoft.EntityFrameworkCore.Sqlite": "1.0.0",
    "Microsoft.EntityFrameworkCore.Sqlite.Design": "1.0.0",
    "Microsoft.NETCore.App": {
      "type": "platform",
      "version": "1.0.0"
    }
  },

  "tools": {
    "Microsoft.EntityFrameworkCore.Tools": 
       {
      "version": "1.0.0-preview2-final",
      "imports": [ 
        "portable-net45+win8+dnxcore50",
        "portable-net45+win8"
      ]
    }
  },

  "frameworks": {
    "netcoreapp1.0": {
    }
  }
}

为了完整起见,这是 global.json:

{
  "sdk": {
    "version": "1.0.0-preview2-003121"
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多