【问题标题】:Entity Framework Core Add-Migration cannot executeEntity Framework Core Add-Migration 无法执行
【发布时间】:2017-04-20 01:33:03
【问题描述】:

我正在尝试在 .NET 应用程序上使用 Entity Framework Core(版本 1.1.0)设置新的数据库/迁移。

PM> Add-Migration InitialMigration
Cannot execute this command because Microsoft.EntityFrameworkCore.Design is not installed. Install the version of that package that matches the installed version of Microsoft.EntityFrameworkCore and try again.

我已经安装了 Microsoft.EntityFrameworkCore.Design(连同工具(版本 1.1.0-preview4-final)以及 Relational/Relational.Design 和 Sqlite 包)。我可以在 Nuget 包管理器中看到这一点。

现在这看起来确实与此问答相似 - Entity Framework Core 1.0.1 add-migration - 但有一些不同之处,主要是任何地方都没有 project.json,并且错误消息略有不同。

有一个packages.config 文件,里面有这个。

  <package id="Microsoft.EntityFrameworkCore" version="1.1.0" targetFramework="net46" />
  <package id="Microsoft.EntityFrameworkCore.Design" version="1.1.0" targetFramework="net46" />
  <package id="Microsoft.EntityFrameworkCore.Relational" version="1.1.0" targetFramework="net46" />
  <package id="Microsoft.EntityFrameworkCore.Relational.Design" version="1.1.0" targetFramework="net46" />
  <package id="Microsoft.EntityFrameworkCore.Sqlite" version="1.1.0" targetFramework="net46" />
  <package id="Microsoft.EntityFrameworkCore.Tools" version="1.1.0-preview4-final" targetFramework="net46" developmentDependency="true" />

【问题讨论】:

  • 这有点相关,但不像你有packages.config和他们有packages.json文件:stackoverflow.com/questions/38306791/…
  • 当您说“我已经安装了 Microsoft.EntityFrameworkCore.Design(连同工具(版本 1.1.0-preview4-final)以及 Relational/Relational.Design 和 Sqlite 包)”时,确实您使用Nuget Beta Channel 安装1.1.0?如果没有,你可以试试吗?

标签: .net entity-framework entity-framework-core


【解决方案1】:

我不仅要在实现DbContext 类的类库中安装Microsoft.EntityFrameworkCore.Design 包,而且还要在引用所述类库的项目(在本例中为GUI/WinForms 项目)中安装。尽管按照用户 Derek 的建议在包管理器控制台中选择了类库。

完成此操作后,我就可以运行Add-Migration 命令和相关命令。

【讨论】:

    【解决方案2】:

    您是否安装了 LTS (1.0.x) rumtime?在the downloads 页面上找到它。

    (这可能没有帮助,但这是一个可能的问题。)

    【讨论】:

    • 假设您的意思是 .NET Core,我会试一试。昨晚还从 Visual Studio 2015 的“更新 2”更新为“更新 3”,以防万一这与它有关。
    【解决方案3】:

    确保您在安装了 EntityFramework 的包管理器控制台中选择了项目。

    【讨论】:

    • 我已经这样做了,但仍然收到上述错误消息。这是一个多项目解决方案,我正在选择实现 DbContext 并从 Nuget 安装所有 EntityFrameworkCore 引用的项目。
    猜你喜欢
    • 2017-05-23
    • 2018-02-01
    • 2017-09-29
    • 2019-11-15
    • 2015-12-19
    • 1970-01-01
    • 1970-01-01
    • 2020-10-01
    • 1970-01-01
    相关资源
    最近更新 更多