Entity Framework init.ps1文件异常,无法在包管理器控制台执行命令
解决Visual Studio包管理器控制台无法识别EF Core Tools初始化脚本的问题
先确认脚本文件是否存在
按错误提示的路径C:\Users<你的用户名>.nuget\packages\microsoft.entityframeworkcore.tools\6.0.1\tools\,直接去文件夹里找init.ps1。要是文件丢了,去NuGet下载对应版本的Microsoft.EntityFrameworkCore.Tools包,解压后把tools目录里的文件复制到本地NuGet的对应路径下。重置包管理器控制台环境
打开VS的「工具」→「NuGet包管理器」→「包管理器设置」,找到「包管理器控制台」选项,点击「重置所有设置」,之后重启VS再试。调整PowerShell执行策略
用管理员身份打开PowerShell,运行这条命令:Set-ExecutionPolicy RemoteSigned -Scope CurrentUser允许本地脚本运行,解决权限导致的脚本不识别问题,执行完重启VS。
清理NuGet缓存并重新还原包
- 打开「工具」→「NuGet包管理器」→「包管理器设置」,点击「清除所有NuGet缓存」;
- 在解决方案资源管理器里右键解决方案,选「还原NuGet包」;
- 还原完成后重启VS。
手动注册EF Core的PowerShell模块
在包管理器控制台里输入这条命令(替换成你本地的实际路径):Import-Module "C:\Users<你的用户名>.nuget\packages\microsoft.entityframeworkcore.tools\6.0.1\tools\EntityFrameworkCore.psd1"注册完再试试EF相关命令,比如
Add-Migration。
内容的提问来源于stack exchange,提问作者Guillermo Spritzer
相关产品推荐
相关产品推荐

