Параметры политики консоли управления пакетами NuGet (PMC)

В VS2013, когда я пытаюсь открыть консоль диспетчера пакетов NuGet, я вдруг получаю сообщение об ошибке:

Windows PowerShell успешно обновила вашу политику выполнения,     но параметр переопределяется политикой, определенной в более конкретной области.
    Из-за переопределения ваша оболочка сохранит текущее эффективное выполнение     политика Неограниченного. Введите "Get-ExecutionPolicy -List", чтобы просмотреть     параметры политики выполнения. Для получения дополнительной информации см. "Get-Help Set-     ExecutionPolicy".

Если я запускаю "Get-ExecutionPolicy -List" в приглашении PowerShell, я получаю следующее:

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

Не уверен, что это правильно или нет, но на моем персональном ПК установлены следующие политики:

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

Угадайте, что проблема - "UserPolicy", поэтому я попытался выполнить следующую команду:

Set-ExecutionPolicy Undefined -Scope UserPolicy

который дает мне сообщение об ошибке:

Set-ExecutionPolicy: невозможно установить политику выполнения.     Политики выполнения в областях MachinePolicy или UserPolicy должны быть     с помощью групповой политики.

Не совсем уверен, что делать сейчас. Любая помощь в решении этой проблемы будет с благодарностью.

Ответы

Ответ 1

Это похоже на рабочую станцию, которая соединена с доменом, и где политика группы домена включает определенную настройку PowerShell ExecutionPolicy.

В настоящее время см. приведенные здесь опции: https://powershellpanda.wordpress.com/2013/12/01/override-gpo-for-powershell-execution-policy/

Лично я использую временное исправление. Временное удаление политики выполнения, которая была вытолкнута из моего домена. (Это, конечно, вернется, но, по крайней мере, я могу продолжать работать до тех пор, пока не будет найдено более постоянное решение.) Здесь regedit script Я использую:

Windows Registry Editor Version 5.00

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

Смотрите также: https://github.com/NuGet/Home/issues/974#issuecomment-123410075

UPDATE

Я думаю, что это только начало быть проблемой с обновлением 5-й версии Visual Studio 2013, выпущенной вчера. Кстати, это влияет и на Visual Studio 2015 (RTM).

ОБНОВЛЕНИЕ 2

Теперь доступно правильное исправление nuget (для VS2013 и VS2015): https://github.com/NuGet/Home/issues/974#issuecomment-124774650

Ответ 2

Это случилось со мной и с политикой выполнения PowerShell, установленной для домена (Unrestricted for MachinePolicy). Версия NuGet - 2.8.60610.756. Версия Visual Studio - это Visual Studio 2013 Update 4 (12.0.31101.00; Community Edition). Симптом заключается в том, что консоль диспетчера пакетов доступна только для чтения с сообщением об ошибке, описанным в вопросе @smolesen, и не отображается приглашение.

С помощью обходного пути, предоставляемого @pbar, моя установка также отлично работает.

Ответ 3

Это началось в NuGet 3.0.0.0, который был выпущен с RTM для Visual Studio 2015. Возврат к предыдущей версии NuGet избавит вас от проблемы.

Ответ 4

Это проблема с обновлением 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

Ответ 5

Я пробовал все описанные выше идеи, никто из них не работал.

Что сработало для меня, так это то, что у меня был недопустимый символ в имени моего каталога

Оригинальное имя каталога --- > Entity Framework 4.1- Expert Cookbook

Новое имя каталога --- > Сущность Framework 4.1 Экспертная поваренная книга

Когда я удалил символ "-" и символ "" из имени каталога, проблема исчезла.

Проблема заключается в характере апострофа.