Я использую NuGet довольно долгое время на конкретном ПК. Теперь я создал новый проект в VS2010 (это проект MVC 4 Beta, использующий шаблон одиночной страницы, если это имеет значение). Когда я выбираю
Инструменты/Диспетчер пакетов библиотек/Консоль диспетчера пакетов
Откроется окно консоли, в котором отображается ошибка:
Файл C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensions\Microsoft Corporation\NuGet Package Manager\1.7.30402.9028\Modules\NuGet\profile.ps1 не может быть загружен потому что выполнение скриптов в этой системе отключено. пожалуйста см. "get-help about_signing" для более подробной информации.
Однако другие проекты все еще могут открываться и использовать консоль диспетчера пакетов.
В каждом случае VS2010 работает как один и тот же пользователь.
Если я открою командную строку (используя ту же учетную запись, под которой работает VS2010), запустите PowerShell и введите команду
Get-ExecutionPolicy
PowerShell возвращает
Ограниченный
Мое понимание, основанное на блоге Scott Hanselman, заключается в том, что скрипты не должны запускаться вообще, если ограничение ExecutionPolicy ограничено.
Почему существующие проекты могут использовать консоль диспетчера пакетов, а новая - нет?
Обновление: изменение ExecutionPolicy на AllSigned и перезапуск VS2010 решает непосредственную проблему, но мой главный вопрос заключается в том, почему другим проектам удалось обойти установленную ExecutionPolicy. VS2010 не работает как администратор.