開發環境: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里,我記得不太清楚了。后期開發過程中又遇到了這個問題。經過在vs2019的程序包管理器控制台執行第五步,解決問題。
參考文獻:
https://www.jianshu.com/p/9d75939d7bb8
https://www.cnblogs.com/WuDragon/p/13732965.html