添加迁移显示错误EntityFrameworkCore.Design未安装

Des*_*ino 6 c# entity-framework visual-studio nuget entity-framework-core

我在这里按照EntityFrameworkCore教程 https://docs.efproject.net/en/staging/platforms/aspnetcore/new-db.html 但是当我到达教程的创建数据库部分 https://docs.efproject .net/en/staging/platforms/aspnetcore/new-db.html #create-your-database 并运行命令Add-Migration MyFirstMigration我收到以下错误:

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.
Run Code Online (Sandbox Code Playgroud)

我尝试安装Microsoft.EntityFrameworkCore.Design以及Microsoft.EntityFrameworkCore.SqlServer.Design NuGet上的每个版本但仍然得到相同的错误.

我还尝试使用该命令在NuGet PM之外运行

  • dotnet恢复
  • dotnet ef migrations添加MyFirstMigration

并得到以下错误:

Unhandled Exception: System.MissingMethodException: Entry point not found in assembly 'Microsoft.EntityFrameworkCore.Design, Version=1.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'.
Run Code Online (Sandbox Code Playgroud)

我尝试了所有我能想到的东西,并在互联网上到处寻找,但仍然没有找到答案.

ala*_*anh 5

检查您的project.json是否包含这些条目

在依赖项下:

"Microsoft.EntityFrameworkCore.Design": {
  "version": "1.0.0-preview2-final",
  "type": "build"
},

"Microsoft.EntityFrameworkCore.SqlServer": "1.0.1",
Run Code Online (Sandbox Code Playgroud)

在工具下:

"Microsoft.EntityFrameworkCore.Tools": {
  "version": "1.0.0-preview2-final",
  "imports": [
    "portable-net45+win8+dnxcore50",
    "portable-net45+win8"
  ]
},
Run Code Online (Sandbox Code Playgroud)

  • 这个对我有用,我能够在应用程序和Web应用程序上成功使用Add-Migration,问题是我的Context在一个库中,1.0.0-preview2-final与NETStandard.Library不兼容,天知道为什么.我现在正在使用一种解决方法,并将我的库编译为命令应用程序,到目前为止它正在运行.我仍然希望微软尽快更新他们的库和文档,这远远不是我想要的架构. (2认同)