1. 程式人生 > 其它 >無法將“add-migration”項識別為 cmdlet、函式、指令碼檔案或可執行程式的名稱。請檢查名稱的拼寫,如果包括路徑,請確保路徑正確,然後再試一次。

無法將“add-migration”項識別為 cmdlet、函式、指令碼檔案或可執行程式的名稱。請檢查名稱的拼寫,如果包括路徑,請確保路徑正確,然後再試一次。

開發環境:windows11
開發工具:vs2019
問題復現:vs2019,工具欄--工具--NuGet包管理器--程式包管理器控制檯,預設專案選擇EF所在專案:Leans.Tenants.EF,執行命令:add-migration init
錯誤描述:無法將“add-migration”項識別為 cmdlet、函式、指令碼檔案或可執行程式的名稱。請檢查名稱的拼寫,如果包括路徑,請確保路徑正確,然後再試一次。
百度結果:
1.CMD->powershell, 進入PowerShell 模式,進入成功後,會在命令列左邊出現PS字樣;
2.CMD->Get-ExecutionPolicy, 檢視我們當前作用域是否具備執行PowerShell 的命令;
3.CMD->Get-ExecutionPolicy -List 檢視當前所有作用域
4.CMD->Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

,設定當前使用者作用域具備許可權,具體設定格式是這樣的:Set-ExecutionPolicy -ExecutionPolicy <PolicyName> -Scope <scope>
5.Import-Module C:\Users\suben\.nuget\packages\microsoft.entityframeworkcore.tools\5.0.6\tools\EntityFrameworkCore.psd1。這是我的EntityFrameworkCore.psd1所在的目錄。每個人的都不一樣。
6.執行後出現:模組“EntityFrameworkCore”中的某些匯入命令的名稱包含未批准的動詞,這些動詞可能導致這些命令名不易被發現。若要查詢具有未批准的動詞的命令,請使用 Verbose 引數再次執行 Import-Module 命令。有關批准的動詞列表,請鍵入 Get-Verb。即成功。

注意:

1.正常情況下,執行第5步就可以了。
2.1-4步是在vs2019的程式包管理器控制檯,還是在PowerShell裡,我記得不太清楚了。

參考文獻:
https://www.jianshu.com/p/9d75939d7bb8
https://www.cnblogs.com/WuDragon/p/13732965.html