C# EF核心工具版本';3.1.2';比运行时';3.1.7';。更新工具以获得最新功能和错误修复

C# EF核心工具版本';3.1.2';比运行时';3.1.7';。更新工具以获得最新功能和错误修复,c#,entity-framework,entity-framework-core,C#,Entity Framework,Entity Framework Core,我尝试了本地更新。 因为不同的项目可能在同一台机器上使用不同的版本 如果我这样做 PM> update-database Build started... Build succeeded. The EF Core tools version '3.1.2' is older than that of the runtime '3.1.7'. Update the tools for the latest features and bug fixes. 我得到这个错误 找不到清单文件 这是

我尝试了本地更新。 因为不同的项目可能在同一台机器上使用不同的版本

如果我这样做

PM> update-database
Build started...
Build succeeded.
The EF Core tools version '3.1.2' is older than that of the runtime '3.1.7'. Update the tools for the latest features and bug fixes.
我得到这个错误 找不到清单文件

这是我的版本号:

$ dotnet tool update dotnet-ef
更新 这是一个涉及很多方面的问题。主要问题是Visual Studio:


请试一试

$ dotnet ef --version
Entity Framework Core .NET Command-line Tools
3.1.5

然后重新启动Visual Studio

将较新的工具与较旧版本的EF一起使用应该不会有任何伤害。您将获得该工具的bug修复和功能,这些都应该是向后兼容的。除非您使用不同的主要版本(2.x vs 3.x),否则我认为在本例中,
--global
是安装/更新该工具的正确方法

否则,您需要在项目中有一个
.config/dotnet tools.json
文件(或其上方的某个目录)。这是错误显示缺少的清单文件。您可以使用
dotnet新工具清单
创建一个新工具,但您必须自己编辑它:

dotnet tool update --global dotnet-ef
完成后,您需要运行
dotnet tool restore
在本地恢复并安装该工具。可以找到有关清单文件的更多信息。有关
dotnet ef
的详细信息,请参阅


我不确定,但相当肯定的是,如果您试图在本地安装该工具,它应该创建清单,并添加必要的信息(如果它还不存在)。您可能只需要尝试在项目目录中运行
dotnet tool install dotnet ef
(而不是
update
)。

运行此操作后,我收到以下错误-.dotnet/tools是int$PATH:术语“更新数据库”无法识别为cmdlet、函数、脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后再试一次请查看此问题,并在问题的正下方看到11票赞成的评论:他说:只需退出并重新启动VS(或卸载/重新加载项目)。我看到了这一点,并应用了他们建议的解决方案。包括重新启动我的机器,但同样的问题。我有entityframework核心,设计,SQLServer3.1.7。我的分数太低,无法对该问题发表评论,无法讨论我的问题。您使用的是哪个版本的Visual Studio?在这个线程中有几个解决方案:我想最有可能的一个方法是更新到EntityFramework的最新版本。您使用的是什么版本的Nuget EntityFrameworkCore?
{
    "version": "1",
    "isRoot": true,
    "tools": {
        "dotnet-ef": {
            "version": "3.1.7",
            "commands": ["dotnet-ef"],
        }
    }
}