Не удается установить пакет nuget из-за «Не удалось инициализировать хост PowerShell»

Внезапно я получаю эту ошибку при обновлении пакетов Nuget. Ни один из исправлений, с которыми я столкнулся, не работает. Я использую Visual Studio 2013.

'Newtonsoft.Json 6.0.3' already installed. Adding 'Newtonsoft.Json 6.0.3' to Tournaments.Notifications. Successfully added 'Newtonsoft.Json 6.0.3' to Tournaments.Notifications. Executing script file 'F:\My Webs\BasketballTournaments\MainBranch\packages\Newtonsoft.Json.6.0.3\tools\install.ps1'. Failed to initialize the PowerShell host. If your PowerShell execution policy setting is set to AllSigned, open the Package Manager Console to initialize the host first. 

Консоль диспетчера пакетов

 Attempting to perform the InitializeDefaultDrives operation on the 'FileSystem' provider failed. 

Если я дожидаюсь завершения инициализации в консоли, я смог добавить некоторые пакеты.

Настройка политики выполнения для RemoteSigned или Unrestricted должна работать. Он должен быть изменен в режиме администратора с помощью консоли PowerShell. Имейте в виду, что изменения будут применяться в соответствии с битовой версией консоли PowerShell, поэтому 32 бит или 64 бит. Поэтому, если вы хотите установить пакет в Visual Studio (32-разрядная версия), для которого требуется определенная политика, вы должны изменить настройки политики через PowerShell (x86).

Команда в PowerShell (как администратор), чтобы установить политику неограниченно (как отмечено в комментариях @Gabriel):

 start-job { Set-ExecutionPolicy Unrestricted } -RunAs32 | wait-job | Receive-Job 

Установив политику неограниченно, вам нужно будет вернуть политику в исходное состояние после завершения установки.

Не забудьте перезапустить Visual Studio после того, как вы сделали Set-ExecutionPolicy Unrestricted в PowerShell (x86).

Если это не сработает, попробуйте Set-ExecutionPolicy RemoteSigned в PowerShell (x86), а затем перезапустите Visual Studio.

По умолчанию сценарий PowerShell очень ограничен по соображениям безопасности. Для использования в NuGet нам нужно открывать двери.

1. Шаг

Откройте Windows PowerShell , запустите в качестве Administrator

2. Шаг

NuGet использует 32-битную консоль, поэтому на нее не влияют изменения в 64-битной консоли. Выполните следующий сценарий, чтобы убедиться, что вы настраиваете 32-битную консоль.

 start-job { Set-ExecutionPolicy RemoteSigned } -RunAs32 | wait-job | Receive-Job 

3. Шаг

Перезапустить Visual Studio

У меня такая же проблема с диалоговым окном «Управление пакетами NuGet», я использую обход, который может помочь другим – запуск из консоли диспетчера пакетов:

Если я использую установочный пакет командной строки powershell командной строки, все в порядке.

Я не могу изменить настройку безопасности «просто для ее работы».

Никакие ответы не работали для меня.

Все политики были правильными, но у меня возникла ошибка при установке пакета

Не удалось инициализировать хост PowerShell. Если для параметра политики выполнения PowerShell установлено значение AllSigned, откройте консоль диспетчера пакетов, чтобы сначала инициализировать хост.

Решение : я удалил плагин менеджера пакетов nuget и переустановил его.

Запуск Visual Studio в качестве администратора работал для меня.

У меня была проблема с моей Visual Studio 2015. Я снова удалил и снова установил NuGet Package Manager. Это сработало для меня.

Это началось с 6.0.4 недавно для меня, я не думаю, что это очень хорошее решение, но вот что мне помогло. Закрыть Visual Studio

  1. Откройте приглашение Windows PowerShell в качестве администратора (очень важно) и выполните следующую команду: Set-ExecutionPolicy Bypass
  2. Откройте Visual Studio, откройте свое решение и используйте Nuget для установки JSON.Net (или любой другой пакет включил его как зависимость).
  3. После того, как все работает, я рекомендую установить политику выполнения powershell обратно на ограниченную с помощью следующей команды: Set-ExecutionPolicy Restricted

Я обновил менеджер пакетов Nuget и исправил его для меня.

Это исправление Nuget помогло мне:

https://github.com/NuGet/Home/issues/974#issuecomment-124774650

По умолчанию мой 64-разрядный Windows 10 только включал версию Powershell версии 1.0. Я изменил панель управления / Программы / Программы и функции / Включил функции Windows Вкл. Выкл.

Убедитесь, что включен движок Windows Powershell 2.0.

Перезапустите VS2015 в режиме без администратора и со всеми установленными пакетами.

У меня была та же проблема с vs2013, и изменение политики выполнения не исправить. Единственным рабочим решением, которое я нашел, было удаление Nuget из VS и его установка снова. Шаги здесь: https://stackoverflow.com/a/32619961/3853238

У меня была такая же проблема после обновления до Windows 10.

Это сработало для меня

  1. Закрыть Visual Studio
  2. Запуск Powershell в качестве администратора
  3. Запустить Set-ExecutionPolicy Unrestricted
  4. Запустить Visual Studio как admin
  5. Очистите проект и добавьте пакет nuget

Если он все еще не работает, попробуйте отредактировать devenv.exe.config

Visual Studio 2013: C:\Users\\AppData\Local\Microsoft\VisualStudio\12.0

Visual Studio 2015: C:\Users\\AppData\Local\Microsoft\VisualStudio\14.0

Добавьте следующее

                          

Все, что мне нужно было сделать, это перезапустить Visual Studio, открыть Package Manager Console NuGet, а затем запустить диалог « Manage NuGet Packages ».

Закройте все экземпляры визуальной студии и повторите попытку. Это сработало для меня 🙂

После устранения различных предложенных исправлений он был окончательно решен путем обновления расширения NuGet Package Manager в Visual Studio.

Это делается в разделе «Инструменты -> Расширения и обновления», затем в диалоговом окне «Расширения и обновления». Обновлено -> Галерея Visual Studio. Может потребоваться перезагрузка Visual Studio.

Если вы используете VS 2013 Update 5, вы должны вручную установить обновление 2.8.7 для NuGet Packet Manager.

Отчет об ошибке содержит более подробную информацию.

VS2015: Обновлен NuGet и работал.

Что для меня было хитростью для переустановки диспетчера пакетов NuGet, используя следующую ссылку:

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

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

Если ни одно из приведенных выше действий не помогает, посмотрите, можете ли вы обновить Visual Studio.

Я имел ту же проблему с сообществом Visual Studio 2017, когда пытался установить Newtonsoft.Json. Изменение ExecutionPolicy не помогло (я попытался использовать как PowerShell, так и редактор реестра). Я также попытался удалить и установить NuGet.

После запуска файла установки VS2017 он попросил обновить Visual Studio. Все проблемы исчезли после обновления.

Если вышеупомянутые ответы не работают для вас –

  1. Открыть Run – windows + R
  2. Откройте редактор реестра – введите regedit.exe
  3. Открыть – HKEY_LOCAL_MACHINE \ SOFTWARE \ Политики \ Microsoft \ Windows \ PowerShell
  4. В правой панели – измените «ExecutionPolicy» и сохраните «данные о ценности» как незаполненные.
  5. Перезагрузите свою визуальную студию, теперь ваша Powershell может правильно инициализироваться.

Для меня настройка политики выполнения на Unrestricted не работала. Мне пришлось отремонтировать установку vs2013 , перейдя в панель управления. Ремонт установки работал для меня.

Имела та же проблема, и это разрешило это для меня (Powershell as admin):

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

У меня была аналогичная проблема. Я исправил это, включив функцию «Windows PowerShell 2.0» в «Включить или отключить функции Windows». Обратите внимание, что эта функция включена по умолчанию, я вручную отключил ее несколько дней назад.

Я работаю над Windows 10 Pro 64bit, и такая же проблема была с Visual Studio 2015 и 2017 (32-битное и 64-битное приложение)

Загрузка и установка административных шаблонов для Windows PowerShell

 Next: Powershell x86 from As Administrator Run: Get-ExecutionPolicy -List , and see if you have RemoteSigned etc.. 1. 5 different scopes Set-ExecutionPolicy "RemoteSigned" -Scope Process -Confirm:$false 2. Machine and User Policy you have to set through the Group Policy Administration Template in 2 areas. 

UPDATE – EDIT:

 Set ALL of them to "Undefined" and ONLY the LocalMachine to "Restricted" 

Это то, что было исправлено после того, как я предоставил свои полномочия больше разрешений, не зная, что это испортит визуальную студию 2013 и 2015

Эта проблема не всегда связана с политикой исполнения PowerShell. Моя машина настроена как «Неограниченная» для PowerShell x64 и x86, но я все еще получаю это сообщение об ошибке от времени до времени в Visual Studio 2013.

Когда я пытаюсь открыть консоль диспетчера пакетов:

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

Это неверное сообщение об ошибке.

Перезагрузка Visual Studio не всегда разрешает проблему.

Выполнение процесса как администратора никогда не устраняет проблему.

Как и Declan, последнее обновление плагина Package Manager исправило проблему: 2.8.60723.765

Установите для политики выполнения команду «Обход» вместо «Без ограничений» или «Удаленный доступ»; этот урок дает более полные инструкции . Кроме того, если у вас возникли проблемы с использованием PowerShell для изменения политики, автор покажет вам, как изменить ее в Regedit.

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

В моем случае у меня также появилось сообщение о том, что отсутствовал файл блокировки и рекомендация запустить dnu restore в консоли диспетчера пакетов. Я сделал это, перезапустил VS, и теперь все работает.

Что для меня работало:

  1. Установите политику выполнения для неограниченного.
  2. Find-Module ISEModuleBrowserAddon | Install-Module
  3. Import-Module ISEModuleBrowserAddon
  4. Find-Module ISEScriptAnalyzerAddOn | Install-Module
  5. Import-Module ISEScriptAnalyzerAddOn
  6. Import-Module ScriptBrowser
  7. В ISE вам нужен Enable-ScriptBrowser

И у вас есть модуль, сценарий и анализатор в вашей ISE.

Запуск в Win 10 Pro, консольный хост x64 5.0.10586.122

Удачи!

По-видимому, в Windows 10 версии 1511 есть ошибка Powershell.

Ни один из исправлений, перечисленных здесь, не работал для меня. (или работает только временно)

Я исправил его (как в VS2013, так и VS2015), установив версию 1607 . Его можно скачать здесь: Обновление для Windows 10 Anniversary .

Проблема с Nuget: https://github.com/NuGet/Home/issues/3352

  • где можно найти xsd.exe в visual studio 2013 на windowsх 8
  • Почему intellisense и предложение кода перестают работать, когда Visual Studio открыта?
  • Двойное удаление в файле initializer_list vs 2013
  • Контроллер лесов не работает с обновлением Visual Studio 2013 2
  • Как отключить CodeLens-Ссылки
  • Успешная assembly с множеством ошибок в машинописных файлах с машинописными текстами
  • Visual Studio 2013 IntelliSense перестает работать для controllerов ASP.NET MVC5
  • Возможно ли создать приложение для Windows 8 Store из Visual Studio 2013?
  • Изменение номера порта проекта в Visual Studio 2013
  • Visual Studio 2013 - Нет установленных веб-шаблонов Visual Basic / Visual C #
  • Идентификация ASP.NET (OWIN): как получить UserID с controllerа веб-API?
  • Давайте будем гением компьютера.