术语"更新 - 数据库"未被识别为cmdlet的名称

use*_*146 104 entity-framework ef-code-first ef-migrations entity-framework-5

我正在使用EF5 beta1,而我之前能够运行"更新数据库".现在我关闭了Visual Studio,我无法让它运行.我收到以下错误:

术语"更新 - 数据库"未被识别为cmdlet,函数,脚本文件或可操作程序的名称.检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试.在行:1 char:16 + Update-Database <<<< -verbose + CategoryInfo:ObjectNotFound:(Update-Database:String)[],CommandNotFoundException + FullyQualifiedErrorId:CommandNotFoundException

我试图重新安装EF5b1并且虽然成功(已安装),但"更新数据库"仍然无效.

谁能帮忙???

Ric*_*ard 165

我最近多次遇到过这个问题.我发现有效的解决方案是关闭软件包管理器控制台,关闭Visual Studio然后重新打开它们.重启也在大部分时间都有效,但并非总是如此.

  • 通常你只需要退出重启VS. 在原始问题中查看我的评论.在极少数情况下,您可能需要退出/重启VS两次. (7认同)
  • 我在我的数据项目上安装了“Microsoft.EntityFrameworkCore.Tools”Version=“3.1.0”,在我的主 Web 项目上安装了“Microsoft.EntityFrameworkCore.Design”Version=“3.1.0”,这为我解决了问题。 (4认同)
  • 是的当然。这就是解决方案。合法的解决方案。谢谢微软! (2认同)

Mur*_*dız 51

如果您使用实体框架:

错误消息: "错误消息(来自PMC中的Update-Database命令):术语"更新 - 数据库"未被识别为cmdlet,函数,脚本文件或可操作程序的名称.请检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试."

解决方案: "退出Visual Studio.重新打开项目并重试."

有关更多信息,请访问:高级实体框架6 MVC 5 Web应用程序方案(12/12)

希望这可以帮助...


Vah*_*ian 29

对于使用 .Net Core 和 EntityFrameworkCore 的任何人:

您将需要安装Microsoft.EntityFrameworkCore.Tools软件包来解决此问题。

在此处阅读更多信息:https : //docs.microsoft.com/en-us/ef/core/miscellaneous/cli/powershell


Ste*_*uts 21

有时当我加载VS时,我在包管理器控制台中看到了这个:

值不能为空.

参数名称:path1

我不知道是什么导致这一点,但似乎在Powershell控制台启动期间出现问题,这会中断特定模块的注册,例如EF powershell扩展.您可以手动加载它:

Import-Module .\packages\EntityFramework.6.1.1\tools\EntityFramework.psm1
Run Code Online (Sandbox Code Playgroud)

确保将6.1.1替换为当前版本的Entity Framework.

  • 谢谢!只有对我有用的解决方案.然而,对于使用EF 6.1.3与VS 2015年的人存在EntityFramework.psm1一个错误,有可用的补丁在这里http://stackoverflow.com/a/30062684/1267778. (4认同)

atr*_*eon 16

重新安装nuget包为我解决了这个问题

即,执行

Install-Package EntityFramework -Version 5.0.0
Run Code Online (Sandbox Code Playgroud)

在包管理器中


小智 9

只需重新启动Visual Studio,它就能解决问题.适合我.


sud*_*u63 8

如果未正确安装EF工具,您将收到此错误.

在Nuget包管理器中尝试以下命令//卸载并安装相同版本的EF

Update-Package "EntityFramework" -reinstall
Run Code Online (Sandbox Code Playgroud)

如果你仍然面临同样的问题.创建一个新的Web项目并在nuget中运行以下命令.

(注意:无需在同一解决方案或相同位置创建新项目.)

//这将更新EF到最新版本(包括工具)//如果要使用特定版本,请使用-version标志.

Update-Package "EntityFramework"
Run Code Online (Sandbox Code Playgroud)

完成此操作后,请删除原始项目,然后删除新创建的项目.


Mar*_*ldi 6

我通过卸载并重新安装解决了这个Microsoft.EntityFrameworkCore问题Microsoft.EntityFrameworkCore.Tools

  • 如果您使用 EF Core,这是正确的答案。或者至少,对我来说问题是未安装“Microsoft.EntityFrameworkCore.Tools”。 (4认同)

小智 5

安装 Microsoft.EntityFrameworkCore.Tools 为我解决了这个问题,使用了 nuget 包