天天看點

Add-Migration : 無法将“Add-Migration”項識别為 cmdlet、函數、腳本檔案或可運作程式的名稱。

首次在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

```csharp
+ Add-Migration Initial
+ ~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (Add-Migration:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
           

網上查了很多資料給出的解決方案大概整理了下

解決方案:

1.重新編譯項目,在電腦裡面搜尋 EntityFrameworkCore.psd1檔案,拿到檔案位址(一般在C槽裡)

2.使用Import-Module指令:我這裡是:Import-Module C:\Users\43180.nuget\packages\microsoft.entityframeworkcore.tools\2.1.0\tools\EntityFrameworkCore.psd1

3.按要求鍵入Get-Verb

Add-Migration : 無法将“Add-Migration”項識别為 cmdlet、函數、腳本檔案或可運作程式的名稱。

然後再次嘗試輸入Add-Migration,這時候就執行成功了。

同理:無法将“Remove-Migration”項識别為 cmdlet、函數、腳本檔案或可運作程式的名稱,或者Update-DataBase這些錯誤也是同樣的步驟。

不過最難受的是,我前一天執行完指令,到第二天來的時候,又失效了,需要再重新執行Import-Module