對VS 2017中ASP.NET Core項目解決:Add-Migration : 沒法將「Add-Migration」項識別爲 cmdlet、函數、腳本文件或可運行程序的名稱。

問題出現環境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這些命令都正常了。

相關文章
相關標籤/搜索