Я обновил Visual Studio 2013.5 и установил Visual Studio 2015 вчера. Начиная с установки обновлений, NuGet больше не работает в обеих версиях Visual Studio.
Ошибка, которую я получаю:
Set-ExecutionPolicy: Windows PowerShell успешно обновил вашу политику выполнения, но параметр переопределяется политикой, определенной в более конкретной области. Из-за переопределения ваша оболочка сохранит текущую эффективную политику выполнения Unrestricted. Введите "Get-ExecutionPolicy -List", чтобы просмотреть параметры политики выполнения. Для большего информацию см. в разделе "Get-Help Set-ExecutionPolicy".
Существуют решения подобных проблем здесь, здесь и здесь, однако они мне не помогают. Разница заключается в следующем:
Эти ответы разрешают случай, когда пользователь не имеет достаточных разрешений. Однако в моем случае у нас есть глобальная групповая политика, которая заставляет политику "неограниченного" выполнения (... да, я знаю).
Поэтому, когда Visual Studio пытается установить разрешения на работу для своей консоли NuGet или бэкэнда NuGet для RemoteSigned, она терпит неудачу, потому что глобальная, более разрешающая настройка отменяет это. Это, по-видимому, вызывает ошибку, которая полностью завершает NuGet:
- Если я открою консоль диспетчера пакетов в VS, появится красное сообщение об ошибке, но нет приглашения.
- Если я пытаюсь установить пакет с помощью GUI, установка пакета завершится неудачно, потому что он не может запустить файл.... /install.ps1 script.
Я попытался запустить VS в качестве администратора, вручную установив все исполняемые политики, которые я могу изменить как локальный (не доменный) администратор, либо без ограничений, либо с помощью RemoteSigned, и восстановление установки VS.
Используя Get-ExecutionPolicy -List
, я получаю следующий вывод:
MachinePolicy Unrestricted
UserPolicy Undefined
и Process, CurrentUser и LocalMachine являются либо undefined, либо содержат любое значение, которое я установил для них.
Обратите внимание, что глобальная неограниченная политика была установлена до обновления VS, поэтому либо сама установка сама что-то сломала, либо новые версии имеют другое поведение.
Как я могу заставить PowerShell/NuGet работать снова?