我昨天更新到Visual Studio 2013.5并安装了Visual Studio 2015。自安装更新以来,NuGet在两个Visual Studio版本中都不再起作用。
我得到的错误是:
Set-ExecutionPolicy:Windows PowerShell已成功更新执行策略,但该设置被更具体范围内定义的策略覆盖。由于覆盖,您的shell将保留其当前有效的Unrestricted执行策略。输入" Get-ExecutionPolicy -List"查看执行策略设置。更多 有关信息,请参阅" Get-Help Set-ExecutionPolicy"。
有类似问题here,here和here的解决方案,但是,它们对我没有帮助。差异似乎如下:
这些答案解决了用户没有足够权限的情况。但是,就我而言,我们制定了一项全球集团政策,强制实施“不受限制的”政策。执行政策(......是的,我知道)。
因此,当Visual Studio尝试将其NuGet控制台或NuGet后端的进程权限设置为RemoteSigned时,它会失败,因为全局的,更宽松的设置会覆盖此设置。这似乎导致一个错误,使NuGet完全失败:
我尝试以管理员身份启动VS,手动设置我可以修改为本地(非域)管理员的所有ExecutionPolicies为Unrestricted或RemoteSigned,并修复VS安装。
使用Get-ExecutionPolicy -List
,我得到以下输出:
MachinePolicy Unrestricted
UserPolicy未定义
和Process,CurrentUser和LocalMachine要么未定义,要么包含我设置它们的任何值。
请注意,在VS升级之前,全局无限制策略已经到位,因此安装本身会破坏某些内容,或者新版本具有不同的行为。
如何让Powershell / NuGet重新开始工作?