NuGet包管理器控制台(PMC)策略设置

时间:2015-07-21 10:24:14

标签: visual-studio-2013 nuget policy

在VS2013中,当我尝试打开NuGet包管理器控制台时,我突然收到错误:

  

Windows PowerShell已成功更新您的执行政策,       但是设置被更具体范围内定义的策略覆盖       由于覆盖,您的shell将保持其当前有效执行       无限制政策。输入“Get-ExecutionPolicy -List”查看您的       执行策略设置。有关详细信息,请参阅“获取帮助集 -       ExecutionPolicy”。

如果我在PowerShell提示符下运行'Get-ExecutionPolicy -List',我会得到以下结果:

Scope                 ExecutionPolicy
-----                 ---------------
MachinePolicy         Unrestricted
UserPolicy            Unrestricted
Process               Unrestricted
CurrentUser           RemoteSigned
LocalMachine          Undefined

不确定这是否正确,但在我的同事PC上,政策设定为:

Scope                 ExecutionPolicy
-----                 ---------------
MachinePolicy         Unrestricted
UserPolicy            Undefined
Process               Unrestricted
CurrentUser           RemoteSigned
LocalMachine          Undefined

猜猜问题是'UserPolicy'所以我试图执行以下命令:

Set-ExecutionPolicy Undefined -Scope UserPolicy

给了我错误信息:

  

Set-ExecutionPolicy:无法设置执行策略。       必须是MachinePolicy或UserPolicy范围内的执行策略       通过组策略设置。

不太清楚现在该做什么。任何帮助解决这个问题将不胜感激。

5 个答案:

答案 0 :(得分:24)

这似乎发生在加入域的工作站上,域的组策略包含特定的PowerShell ExecutionPolicy设置。

目前,请参阅此处提供的选项:https://powershellpanda.wordpress.com/2013/12/01/override-gpo-for-powershell-execution-policy/

就个人而言,我正在使用临时修复程序。暂时清除从我的域中下推的执行策略。 (它会回来当然,但至少我现在可以继续工作,直到找到更永久的解决方案。) 这是我使用的regedit脚本:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\PowerShell]
"ExecutionPolicy"=-

另请参阅:https://github.com/NuGet/Home/issues/974#issuecomment-123410075

更新

我认为这只是昨天发布的Visual Studio 2013 update 5 的问题。 顺便说一句,它也会影响Visual Studio 2015(RTM)。

更新2

根据以下帖子,现在可以使用适当的nuget修复程序(对于VS2013和VS2015):https://github.com/NuGet/Home/issues/974#issuecomment-124774650

答案 1 :(得分:1)

我也遇到了域设置PowerShell执行策略(对于MachinePolicy不受限制)。 NuGet版本是2.8.60610.756。 Visual Studio版本是Visual Studio 2013 Update 4(12.0.31101.00; Community Edition)。症状是包管理器控制台是只读的,并且@smolesen在问题中描述了错误消息,并且没有显示提示。

使用@pbar提供的解决方法,我的安装现在也可以正常工作。

答案 2 :(得分:0)

这已经在随Visual Studio 2015 RTM发布的NuGet 3.0.0.0中开始发生。恢复到以前版本的NuGet将解决问题。

答案 3 :(得分:0)

这是VS 2013更新5的问题。对我有用的解决方法是在powershell中执行此命令并重新启动VS。

Set-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\PowerShell -Name ExecutionPolicy -Value ByPass

我已经为Nuget工具更新安装了修复程序,但它确实有效。

https://github.com/NuGet/Home/releases/download/2.8.7/NuGet.Tools.vsix

答案 4 :(得分:0)

我尝试了上面提到的所有想法,但都没有。

对我有用的是我的目录名

中的字符无效

原始目录名--->实体框架4.1-专家的食谱

新目录名--->实体框架4.1专家指南

当我删除" - "角色和"'"目录名称中的字符,问题就消失了

问题在于撇号字符。