Visual Studio 2015中Nuget崩溃问题

20

在启动后不久,Visual Studio 2015企业版的包管理器控制台崩溃,并显示以下错误:

Windows PowerShell 已成功更新您的执行策略,但该设置被更具体范围定义的策略覆盖。 由于覆盖,您的 shell 将保留其当前有效的 RemoteSigned 执行策略。请输入“Get-ExecutionPolicy -List”以查看您的执行策略设置。有关更多信息,请参阅“Get-Help Set-ExecutionPolicy”。

我已尝试了很多方法,例如将PowerShell的执行策略设置为remoteSigned,但仍然无法使nuget工作。

有人遇到过相同的问题吗? 谢谢任何帮助。


请更具体地说明:崩溃的表现形式是什么?您只是在控制台上显示了一个错误消息。 - stijn
2
遇到了同样的问题;包管理器控制台无法工作,只显示那个错误。我尝试将策略设置为不受限制,在2013年可以正常工作,但在2015年却不行! - Hrvoje Hudo
1
尝试了在32位和64位的PowerShell进程上设置执行策略的所有可能组合。奇怪的是,“Windows PowerShell已成功更新您的执行策略”,但它就此停止,无法在控制台中输入任何内容。 - Hrvoje Hudo
2
更糟糕的是,同样的问题也不允许仅安装软件包(因为无法执行install.ps1)。 - Wilbert
1
我也在 MSDN 论坛上提问了:https://social.msdn.microsoft.com/Forums/vstudio/en-US/a5ad26cf-3a94-46d1-a787-2d934ac66df2/visual-studio-2015-package-manager-console-execution-policy-problem?forum=visualstudiogeneral - Hrvoje Hudo
显示剩余7条评论
4个回答

34

微软已发布了此问题的热修复程序,以下是应用该修复程序的信息:

现在可用安装一个热修复程序,请从以下适当位置获取该安装程序:

2.8.7 适用于 VS 2013: https://github.com/NuGet/Home/releases/download/2.8.7/NuGet.Tools.vsix

3.1.1 适用于 VS 2015: https://github.com/NuGet/Home/releases/download/3.1.1/NuGet.Tools.vsix

NuGet 将在下周将其发布到 Visual Studio 库中。

有关更多信息,请访问以下页面: https://connect.microsoft.com/VisualStudio/feedback/details/1572078/nuget-crash-in-visual-studio-2015-enterprise


1
这个解决了我的VS 2015 / nuget 3.0问题,这个问题与问题描述中的完全不同。如果你在VS中遇到nuget 3.0的问题,我建议尝试这个热修复补丁。 - Kevin Won
你救了我的一天!谢谢。 - Ranga
请尝试两个版本,第一个适用于我。两个版本都很重要。2.8.7或3.1.1。 - Amitya Narayan

14

我曾经遇到同样的问题,并找到了解决方法:在所有范围中将执行策略设置为“未定义”(如果由域策略设置,则删除机器和用户范围的注册表键),然后重新启动VS并打开"Package Manager Console"。

编辑:我删除的密钥路径:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\PowerShell

密钥:ExecutionPolicy

可以使用此命令行自动化此过程(以管理员身份运行),直到问题得到解决:

reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\PowerShell /v ExecutionPolicy /f

是的,它有效了,谢谢!但是执行策略会被域策略恢复,所以只能在下次重启之前起作用! - Maris
我同意,在域策略方面,这只是一个临时解决方法。要进行永久修复,您可以更改域策略或等待微软修复那个可怕的行为。 - Encarmine

9
从MSDN网站上进行完全干净的Visual Studio Professional 2015安装后,以管理员身份运行VS2015,从工具-> NuGet包管理器...-> 包管理器控制台打开包管理器控制台时,我收到以下错误提示:

Windows PowerShell 成功更新了您的执行策略,但是该设置被更特定范围定义的策略覆盖。由于覆盖,您的 Shell 将保持当前的有效执行策略为 Unrestricted。键入“Get-ExecutionPolicy -List”查看您的执行策略设置。要获取更多信息,请参阅“Get-Help Set-ExecutionPolicy”

通过按照以上步骤进行操作:
  1. 使用工具-> 扩展和更新... 卸载Visual Studio 2015的NuGet包管理器。

  2. 重新启动Visual Studio。

  3. 使用工具-> 扩展和更新... 重新安装Visual Studio 2015的NuGet包管理器。

  4. 重新启动Visual Studio。

现在,当我打开包管理器控制台时,PowerShell正确加载并且一切正常。希望这可以帮助您避免覆盖或设置执行策略。

这对我有用 - 尽管我不确定它是否仅仅因为当我最初安装时没有管理员访问权限,然后我为VS获得了访问权限,然后按照这些步骤操作。 - will

0

我在VS 2013的Tools\Nuget package Manager\ Package Manager console中遇到了以下错误...

问题:Windows PowerShell已成功更新您的执行策略,但该设置被更具体范围定义的策略覆盖。由于覆盖,您的shell将保留其当前有效的执行策略为无限制。键入“Get-ExecutionPolicy -List”以查看您的执行策略设置。有关更多信息,请参见“Get-Help Set-ExecutionPolicy”。

我使用Tools\Extension and Updates卸载了Nuget Package manager并重新安装了它,以解决这个问题。

从下面的位置重新安装包管理器以解决问题。

https://marketplace.visualstudio.com/items?itemName=NuGetTeam.NuGetPackageManagerforVisualStudio2013


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接