无法识别“添加迁移”一词 - VS2017和EntityFrameworkCore

时间:2017-02-22 12:03:48

标签: entity-framework-core visual-studio-2017

我发布这个问题,以防我找到的解决方案可以帮助其他人。在每次我尝试在程序包管理器控制台中运行Visual Studio 2017 rc4命令时Add-Migration工作时,我收到以下错误:

  

无法识别“添加迁移”一词......

13 个答案:

答案 0 :(得分:30)

您只需要初始化powershell模块。我相信这是一个错误,但它很容易解决。您需要做的就是找到init.ps1文件并点源它。

只需在包管理器控制台中输入:

  

C:\用户\ YourUserAccount \ .nuget \包\ Microsoft.EntityFrameworkCore.Tools \ 1.1.0-preview4-最终\工具\ init.ps1

现在版本可能与您不同,具体取决于您安装的版本。确保点源与项目中的版本相同。

答案 1 :(得分:23)

在尝试了大量其他解决方案之后,对我有用的解决方案是右击我的项目=>选择'管理Nuget包' =>选择浏览标签,但请选择“预先发布”#&复选框,并安装' Microsoft.EntityFrameworkCore.Tools'。 N.b,Visual Studio 2017中的aspnetcore项目似乎没有' project.json'文件。

答案 2 :(得分:7)

嗨,那里

这在Microsoft中几乎是一个正常问题,他们指出了相同的解决方案:

Microsoft Docs - Getting Started with EF Core on ASP.NET Core with a New database

对于我来说,上面的方法不能解决我的问题,但此行首先可以解决:

PM> Install-Package Microsoft.EntityFrameworkCore.Tools
PM> add-migration InitialCreate

/欢呼声,一月

答案 3 :(得分:2)

如果您使用的是VS 2019和Dot.net核心版本3.1

只需从Manage NuGet Packages安装:Microsoft.EntityFrameworkCore.Tools

这解决了我的问题。

答案 4 :(得分:1)

从以下链接下载最新的.net Core 2.0,它将解决您的问题: https://www.microsoft.com/net/core#windowscmd

答案 5 :(得分:1)

我重新安装了包.Microsoft.EntityFrameworkCore.Tools并为我修复了问题。

答案 6 :(得分:1)

对我来说,我必须从

复制文件夹microsoft.entityframeworkcore.tools

C:\Program Files\dotnet\sdk\NuGetFallbackFolder

C:\Users\<user>\.nuget\packages

答案 7 :(得分:1)

使用VS2017 15.9.4版和.Net Core 2.1创建的项目遇到相同的问题。

我已通过在项目的依赖项中添加 Microsoft.EntityFrameworkCore.Tools 来解决此问题。

  1. 项目上,选择 Manage Nuget Packages
  2. 浏览和搜索 Microsoft.EntityFrameworkCore.Tools
  3. 将其安装在您的项目中

然后,您可以打开 Package Manager控制台并使用以下命令: 添加迁移 删除数据库 Get-DbContext 支架-DbContext 脚本迁移 更新数据库

问候 dcube

答案 8 :(得分:0)

您必须将其添加到CSPROJ文件中。当Core 2.0发布时,很可能会修复此问题。这源于一个问题,由于版本要求,您无法使用NUGET工具安装此软件包Microsoft.EntityFrameworkCore.Tools.DotNet。

然后在项目目录中使用CMD / PowerTools,您可以发出以下命令:

dotnet ef迁移添加InitialCreate

dotnet ef数据库更新

<ItemGroup>
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.1" />
</ItemGroup>

答案 9 :(得分:0)

它对我有用。

  1. 关闭所有VIsual Studio实例。
  2. 打开VS。
  3. 打开软件包管理器控制台,让它初始化。
  4. 现在打开项目并尝试添加迁移。

答案 10 :(得分:0)

在具有 EF6.3.0 .NET MVC 5 项目中,我遇到了 VS2019 Enterprise 的问题。我正在拔头发,压碎时间。我正在尝试一切。无奈之下,这是我最终完成的工作,FWIW。

  1. 打开VS2019
  2. 让它完全完成所有后台进程的加载(降低 左上角的动画图标)
  3. 关闭程序包管理器控制台
  4. 右键单击项目,选择“管理NuGet程序包”
  5. 选中“包括预发布”
  6. 选择“浏览”标签将EntityFramework更新到V6.4.0-preview2-19525-03
  7. 关闭VS2019打开VS2019从菜单中选择: 工具> Nuget软件包管理器>软件包管理器控制台将打开 PM控制台
  8. 至此,add-migration "MyReferencePoint"终于奏效了!

希望这对某人有帮助。

答案 11 :(得分:0)

我们在“添加迁移”时遇到相同的错误,我尝试使用一种解决方案,即使用以下步骤更新软件包管理器

  1. 在Visual Studio中,从“工具”菜单中选择“扩展和更新”选项。

  2. 在出现的对话框中,从左侧的树中展开“更新”节点。

  3. 从树中选择“ Visual Studio画廊”选项。
  4. 最后,在对话框右侧的更新列表中查找“程序包管理器”更新,然后单击它旁边的“更新”按钮。

大约5到10 MB的更新,更新完成后,请尝试Get-Help Add-Migration

答案 12 :(得分:0)

确保已安装Microsoft.EntityFrameworkCore.Tools软件包。如果不是,请从NuGet中添加它,或直接在Package Manager控制台中键入以下内容:

Install-Package Microsoft.EntityFrameworkCore.Tools

安装上面的软件包对我有用。