Nuget дает эту ошибку: "ps1 не может быть загружен, потому что запущенные скрипты отключены"
У меня есть новый пустой проект MVC 5, и я пытаюсь установить пакеты Nuget.
Когда я вставляю в Nuget Console команду: Update-Package, я получил следующий asnwer:
File E:\WebApp\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\tools\uninstall.ps1 cannot be loaded because running scripts is
disabled on this system. For more information, see about_Execution_Policies at http://go.microsoft.com/fwlink/?LinkID=135170.At line:1 char:3
+ & 'E:\WebApp\packages\Microsoft.CodeDom.Providers.Dot ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : SecurityError: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
то я начинаю устанавливать некоторые новые пакеты и снова получаю это сообщение:
WebApp\packages\Modernizr.2.8.3\tools\install.ps1 не может быть загружен, так как запущенные скрипты отключены в этой системе
Я видел некоторые сообщения, связанные с этим сообщением, но не связанные с проектами MVC.
Мой вопрос:
Почему я получаю эти сообщения?
Что я могу сделать, чтобы исправить эту проблему?
Эта проблема может появиться на сервере, на котором будет выполняться мое приложение? Некоторые скрипты не работают так, как ожидалось?
Ответы
Ответ 1
Я предполагаю, что конкретный пакет, который вы пытаетесь установить, должен запускать powershell script, и по какой-либо причине выполнение PowerShell отключено на вашем компьютере.
Вы можете найти google на "как включить powershell" для полного руководства, но, как правило, это выглядит следующим образом:
- Откройте окно командной строки powershell (просто выполните поиск powershell после нажатия кнопки запуска Windows)
- Проверьте текущие ограничения, набрав "Get-ExecutionPolicy"
- Включить powershell, набрав "Set-ExecutionPolicy remotesigned"
Эта проблема не влияет на сервер, на который вы планируете установить приложение.
Ответ 2
![введите описание изображения здесь]()
Перевод текста изображения будет несколько: этот сертификат был отменен из его хранилища ключей.
Срок действия сертификата по моему init.ps1 истек - таким образом RemoteSigned
не будет работать. Для того, чтобы версия этого пакета работала, его необходимо установить в значение ByPass
или Unrestricted
. Лично я бы не рекомендовал делать это...
- EDIT -
Я пошел вперед и обновил пакет и обнаружил, что они подали в отставку новый сертификат для версии 1.0.2. Ошибка в консоли NuGet для исправления:
Update-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform
Ответ 3
Если вы столкнулись с этой установкой пакетов NuGet из Visual Studio Package Manager Console, запустите Visual Studio в качестве администратора.