EF Core 迁移过程遇到EF Core tools version版本不相符的解决方案

Posted duanyong

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EF Core 迁移过程遇到EF Core tools version版本不相符的解决方案相关的知识,希望对你有一定的参考价值。

如果你使用命令:

PM> add-migration Inital

提示如下信息时:

The EF Core tools version ‘2.1.1-rtm-30846‘ is older than that of the runtime ‘2.1.4-rtm-31024‘

解决方法大致一下几种:

第一


最近在跟着官方的文档学习 .NET Core 。 在写 “创建 Razor 页面 Web 应用” Demo 中的——“添加模型”这一篇的教程,“添加初始迁移”中遇到 “The EF Core tools version ‘2.1.1-rtm-30846‘ is older than that of the runtime ‘2.1.3-rtm-32065‘. Update the tools for the latest features and bug fixes.”这样的问题。

这个问题是用 PMC 命令做“初始迁移”的时候出现的,找了很多方法都不行,也看了本机安装的 .NET Core 的版本(dotnet --version,dotnet --info)。

最后解决办法: 项目文件夹下使用 .NET Core CLI 命令: dotnet ef migrations add Initial dotnet ef database update 完成后运行可以了

第二


编辑你的<项目名称>.csproj文件

添加以下内容

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp2.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.App" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.4" />
    <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.1.2" PrivateAssets="All" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.6" />
  </ItemGroup>

</Project>

然后运行命令:

PM> Update-Package

以上是关于EF Core 迁移过程遇到EF Core tools version版本不相符的解决方案的主要内容,如果未能解决你的问题,请参考以下文章

使用容器编排处理 EF Core 迁移

在.NET Core类库中使用EF Core迁移数据库到SQL Server

从 EF Core 5 迁移到 EF Core 6 时出错

从 EF6 迁移到 EF Core 2.0

EF Core ASP.Net Core 编辑迁移

text EF Core 2 - 代码优先迁移