NuGet 程序包管理器控制台 (PMC) 策略设置
NuGet Package Manager Console (PMC) policy settings
在 VS2013 中,当我尝试打开 NuGet 包管理器控制台时,突然出现错误:
Windows PowerShell updated your execution policy successfully,
but the setting is overridden by a policy defined at a more specific scope.
Due to the override, your shell will retain its current effective execution
policy of Unrestricted. Type "Get-ExecutionPolicy -List" to view your
execution policy settings. For more information please see "Get-Help Set-
ExecutionPolicy".
如果我 运行 'Get-ExecutionPolicy -List' 在 PowerShell 提示符下,我得到以下信息:
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 : Cannot set execution policy.
Execution policies at the MachinePolicy or UserPolicy scopes must be
set through Group Policy.
不太确定现在该做什么。非常感谢任何解决此问题的帮助。
这似乎发生在加入域的工作站上,并且域的组策略包含特定的 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 更新 5 开始成为问题。
顺便说一下,它也会影响 Visual Studio 2015 (RTM)。
更新 2
现在可以使用适当的 nuget 修复(适用于 VS2013 和 VS2015),根据这个 post:https://github.com/NuGet/Home/issues/974#issuecomment-124774650
这已经开始发生在与 Visual Studio 2015 RTM 一起发布的 NuGet 3.0.0.0 中。恢复到以前版本的 NuGet 将解决这个问题。
这也发生在我身上,使用域设置的 PowerShell 执行策略(MachinePolicy 不受限制)。 NuGet 版本为 2.8.60610.756。 Visual Studio 版本是 Visual Studio 2013 更新 4(12.0.31101.00;社区版)。症状是包管理器控制台是只读的,并带有@smolesen 问题中描述的错误消息,并且没有显示任何提示。
通过@pbar 提供的解决方法,我的安装现在也可以正常工作了。
这是 VS 2013 update 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
我尝试了上面描述的所有想法 none,其中的想法奏效了。
对我有用的是我的目录名中有一个无效字符
原目录名---> Entity Framework 4.1- Expert's Cookbook
新目录名---> Entity Framework4.1 Experts Cookbook
当我从目录名称中删除“-”字符和“'”字符时,问题就消失了
问题出在撇号字符上。
在 VS2013 中,当我尝试打开 NuGet 包管理器控制台时,突然出现错误:
Windows PowerShell updated your execution policy successfully, but the setting is overridden by a policy defined at a more specific scope.
Due to the override, your shell will retain its current effective execution policy of Unrestricted. Type "Get-ExecutionPolicy -List" to view your execution policy settings. For more information please see "Get-Help Set- ExecutionPolicy".
如果我 运行 'Get-ExecutionPolicy -List' 在 PowerShell 提示符下,我得到以下信息:
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 : Cannot set execution policy. Execution policies at the MachinePolicy or UserPolicy scopes must be set through Group Policy.
不太确定现在该做什么。非常感谢任何解决此问题的帮助。
这似乎发生在加入域的工作站上,并且域的组策略包含特定的 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 更新 5 开始成为问题。 顺便说一下,它也会影响 Visual Studio 2015 (RTM)。
更新 2
现在可以使用适当的 nuget 修复(适用于 VS2013 和 VS2015),根据这个 post:https://github.com/NuGet/Home/issues/974#issuecomment-124774650
这已经开始发生在与 Visual Studio 2015 RTM 一起发布的 NuGet 3.0.0.0 中。恢复到以前版本的 NuGet 将解决这个问题。
这也发生在我身上,使用域设置的 PowerShell 执行策略(MachinePolicy 不受限制)。 NuGet 版本为 2.8.60610.756。 Visual Studio 版本是 Visual Studio 2013 更新 4(12.0.31101.00;社区版)。症状是包管理器控制台是只读的,并带有@smolesen 问题中描述的错误消息,并且没有显示任何提示。
通过@pbar 提供的解决方法,我的安装现在也可以正常工作了。
这是 VS 2013 update 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
我尝试了上面描述的所有想法 none,其中的想法奏效了。
对我有用的是我的目录名中有一个无效字符
原目录名---> Entity Framework 4.1- Expert's Cookbook
新目录名---> Entity Framework4.1 Experts Cookbook
当我从目录名称中删除“-”字符和“'”字符时,问题就消失了
问题出在撇号字符上。