Сценарий PowerShell Entity Framework не может быть загружен Visual Studio, поскольку его работа заблокирована политиками ограниченного использования программ. - PullRequest
0 голосов
/ 11 февраля 2019

Когда я загружаю Консоль Package Manager в Visual Studio 2017 v15.9.6 в проекте, который использует Entity Framework, я получаю следующую ошибку:

\ packages \ EntityFramework.6.2.0 \ tools \ initPS1 не может быть загружен, потому что его работа заблокирована политиками ограниченного использования программ, например, созданными с помощью групповой политики.В строке: 1 символ: 45 + ... rgs + = $ _};& 'C: \ Bitbucket \ project-path \ packages \ EntityFramework.6.2.... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: SecurityError: (:) [], PSSecurityException + FullyQualifiedErrorId: UnauthorizedAccess

Это не позволяет мне запускать команды, специфичные для Entity Framework, такие как «Update-База данных "или" Добавить-миграцию ".

Вот что я пробовал:

  1. Переустановите Visual Studio
  2. В редакторе групповой политики для обоихКонфигурация компьютера и Конфигурация пользователя. Я включил параметр «Включить выполнение сценариев», который находится по адресу «Административные шаблоны \ Компоненты Windows \ Windows PowerShell».Параметр для обеих конфигураций имеет «Политику выполнения», установленную на «Разрешить все сценарии».screenshot of script execution setting

  3. Я попытался локально в консоли диспетчера пакетов установить для области «Процесс» значения «Обход» и «Неограниченный», а затем вручную загрузить инициализацию Entity Framework.скрипт ps1.Я получаю ту же ошибку.

  4. Я также пытался изменить разделы реестра для PowerShell, чтобы в некоторых местах для ExecutionPolicy было установлено значение «Неограниченно».Эти места находятся по адресу:
    • HKLM \ Software \ Microsoft \ PowerShell \ 1 \ ShellIds \ Microsoft.PowerShell
    • HKLM \ Software \ Microsoft \ PowerShell \ 1 \ ShellIds \ Microsoft.SqlServer.Management.PowerShell.sqlps120
    • HKLM \ Software \ Microsoft \ PowerShell \ 1 \ ShellIds \ Microsoft.SqlServer.Management.PowerShell.sqlps140
  5. Я перезагружался несколько раз междуделая все вышеперечисленное.

Когда я запускаю команду "Get-ExecutionPolicy -List", вот мои результаты "

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

После всего вышеперечисленного я ожидалбыть в состоянии просто загрузить Visual Studio в обычном режиме, запустить консоль диспетчера пакетов и не получать никаких ошибок при попытке запустить скрипт init.ps1 Entity Framework. Я должен что-то упустить или что-то сделать неправильно. Что мне нужно сделать, чтобызаставить Visual Studio работать должным образом?

Еще немного информации о том, что это компьютер, присоединенный к домену компании, но ни у одного разработчика нет этой проблемы.устанавливается администратором, который не позволяет мне запускать сценарии.

1 Ответ

0 голосов
/ 11 апреля 2019

Попробуйте перейти на EF 6.1.2.

Я столкнулся с той же проблемой, что и вы.Я попытался изменить Политику выполнения группы, которая в моем случае не работала из-за некоторых ограничений на моем локальном компьютере (может быть установлено администратором моей школы).В другом проекте я использовал 6.1.2, где такие вещи, как миграция, не были проблемой.

...