使用Visual Studio2013+EF6.4.4时Add-Migration等命令未被识别求助
问题场景
在Visual Studio 2013项目中使用Entity Framework 6.4.4,执行迁移命令时出现报错:
执行命令:
Add-Migration 'Initialize Database'
错误信息:
Add-Migration : The term 'Add-Migration' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:1 char:1
- Add-Migration 'Initialize Database'
- CategoryInfo : ObjectNotFound: (Add-Migration:String) [], CommandNotFoundException
- FullyQualifiedErrorId : CommandNotFoundException
解决步骤
确认Entity Framework工具包安装状态
打开NuGet包管理器控制台,执行Install-Package EntityFramework(未安装时),或检查已安装包列表,确保EntityFramework 6.4.4已正确安装至目标项目。指定正确的默认项目
在NuGet控制台的「默认项目」下拉框中,选中包含DbContext的项目,避免在无关项目下执行迁移命令。手动导入EF PowerShell模块
若工具安装后命令仍不识别,在控制台执行以下命令导入模块:Import-Module EntityFramework注意:如果目标项目是类库,需先将其设为启动项目,或确保当前启动项目已引用该类库。
重置NuGet控制台环境
- 打开「工具」→「选项」→「NuGet包管理器」→「常规」
- 点击「清除所有NuGet缓存」
- 重启Visual Studio后重新尝试命令
检查项目目标框架版本
Entity Framework 6.4.4要求.NET Framework 4.5及以上版本,右键项目→「属性」→「应用程序」,确认「目标框架」符合要求。
内容的提问来源于stack exchange,提问作者MSS

