问题出现环境:html
Windows 7 x64系统,安装VS 2017社区版,EntityFramework 6.0已在安装VS时一并安装。框架
问题:函数
首次在ASP.NET Core项目中使用Code First模式的Entity Framework框架,在添加EF工具并作初始化迁移(perform initial migration),执行Add-Migration Initial遇到如下错误:工具
PM> Add-Migration Initial
Add-Migration : 没法将“Add-Migration”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,若是包括路径,请确保路径正确,而后再试一次。
所在位置 行:1 字符: 1
+ Add-Migration Initial
+ ~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Add-Migration:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundExceptionorm
网上关于此问题,有其余环境下的解决方案,其思路具备参考意义,但环境不一样解决细节也不一样。htm
参考连接以下: blog
http://www.cnblogs.com/pari-Zhong/p/5339028.htmlget
在本人这个环境下,对PowerShell的ExecutionPolicy也是执行了设置了的。以后的细节以下:cmd
一、 编译项目。首次在项目中添加EF Core后,这一步必须作,不然都找不到后续要导入的 EntityFrameworkCore.psd1 模块。it
二、找到前述文件的位置,使用Import-Module命令导入。我这里为: Import-Module C:\Users\{用户名}\.nuget\packages\microsoft.entityframeworkcore.tools\1.1.1\tools\EntityFrameworkCore.psd1
执行信息以下:
PM> Import-Module C:\Users\*\.nuget\packages\microsoft.entityframeworkcore.tools\1.1.1\tools\EntityFrameworkCore.psd1
模块“EntityFrameworkCore”中的某些导入命令的名称包含未批准的动词,这些动词可能致使这些命令名不易被发现。若要查找具备未批准的动词的命令,请使用 Verbose 参数再次运行 Import-Module 命令。有关批准的动词列表,请键入 Get-Verb。
以后问题解决,执行Add-Migration Initial ,Update-Database这些命令都正常了。