突然间,升级 Nuget 包时出现此错误。我遇到的所有修复都不起作用。我正在使用 Visual Studio 2013。
‘Newtonsoft.Json 6.0.3’ 已经安装。 将“Newtonsoft.Json 6.0.3”添加到 Tournaments.Notifications。 成功将“Newtonsoft.Json 6.0.3”添加到 Tournaments.Notifications。 执行脚本文件’F:\My Webs\BasketballTournaments\MainBranch\packages\Newtonsoft.Json.6.0.3\tools\install.ps1’。 无法初始化 PowerShell 主机。如果您的 PowerShell 执行策略设置设置为 AllSigned,请先打开包管理器控制台以初始化主机。
‘Newtonsoft.Json 6.0.3’ 已经安装。
将“Newtonsoft.Json 6.0.3”添加到 Tournaments.Notifications。
成功将“Newtonsoft.Json 6.0.3”添加到 Tournaments.Notifications。
执行脚本文件’F:\My Webs\BasketballTournaments\MainBranch\packages\Newtonsoft.Json.6.0.3\tools\install.ps1’。
无法初始化 PowerShell 主机。如果您的 PowerShell 执行策略设置设置为 AllSigned,请先打开包管理器控制台以初始化主机。
包管理器控制台
尝试对“文件系统”提供程序执行 InitializeDefaultDrives 操作失败。
如果我在控制台中等待初始化完成,我可以添加一些包。
将执行策略设置为 RemoteSigned 或 Unrestricted 应该可以工作。它必须在管理员模式下通过 PowerShell 控制台进行更改。请注意,更改将根据 PowerShell 控制台的位版本应用,因此是 32 位或 64 位。因此,如果您想在需要特定策略的 Visual Studio(32 位版本)中安装包,您应该通过 PowerShell (x86) 更改策略设置。
PowerShell(作为管理员)将策略设置为不受限制的命令(如@Gabriel在评论中指出的那样)是:
start-job { Set-ExecutionPolicy Unrestricted } -RunAs32 | wait-job | Receive-Job
将策略设置为无限制后,您需要在安装完成后将策略设置回其原始状态。