解决 EntityFrameworkCore tool 3.1 init.ps1 is not recognized 问题

昨天将项目升级到.net core 3.1后, 打开vs2019 Package Manager Console后突然发生了错误,如下

最终导致EntityFramework 迁移相关命令都不能正常使用,但是通过dotnet ef 命令行还是能正常使用。只能请求google大神,各种尝试,包括卸载所有package再重装、清理nuget package目录、已管理员模式打开vs、重启电脑,均已失败告终。

早上来上班抱着不死心的目的,又进行了google,在stack-overflow上看到一个和我状况一样的,https://stackoverflow.com/questions/59325242/package-manager-console-init-ps1-is-not-recognized-as-the-name-of-a-cmdlet,按照上面的方法:

  1. 用命令$ExecutionContext.SessionState.LanguageMode查看我电脑当前的LanguageMode, 发现时ConstrainedLanguage
  2. 用命令$ExecutionContext.SessionState.LanguageMode=“FullLanguage"设置LanguageMode, 提示失败。
  3. 又进行google怎么去设置FullLanguage, 找到https://stackoverflow.com/questions/57032747/how-to-change-powershell-mode-to-fulllanguage-mode-from-constrained-mode,按照上面提示,直接修改注册表HKLM\System\CurrentControlSet\Control\SESSION MANAGER\Environment__PSLockdownPolicy 将值设置为 8
  4. 再打开vs Package Manager Console查看,大功告成,没有再出现错误。

发此文的目的是记录解决过程,以防后续再遇到以便查找。

猜你喜欢

转载自www.cnblogs.com/FocusNet/p/12100241.html
今日推荐