解决 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,按照上面的方法:
- 用命令$ExecutionContext.SessionState.LanguageMode查看我电脑当前的LanguageMode, 发现时ConstrainedLanguage
- 用命令$ExecutionContext.SessionState.LanguageMode=“FullLanguage"设置LanguageMode, 提示失败。
- 又进行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
- 再打开vs Package Manager Console查看,大功告成,没有再出现错误。
发此文的目的是记录解决过程,以防后续再遇到以便查找。
posted on 2019-12-26 09:06 Thinking110 阅读(335) 评论(0) 编辑 收藏 举报