Ошибки NuGet в консоли диспетчера пакетов в файле MVC 3, новый проект

#visual-studio-2010 #asp.net-mvc-3 #powershell #nuget #nuget-package

#visual-studio-2010 #asp.net-mvc-3 #powershell #nuget #nuget-пакет

Вопрос:

Итак, я установил новое обновление инструментов MVC3 и попытался создать новое веб-приложение MVC3. Проект сообщается как успешно созданный, но если я открою консоль диспетчера пакетов, я увижу следующее…

При загрузке файла данных расширенного типа произошла следующая ошибка: , D:Program Файлы (x86) Microsoft Visual Studio 10.0 Common7 IDE Extensions Microsoft Corporation NuGet Package Manager 1.2.20325.9034 Scripts NuGet.Типы.ps1xml : Файл пропущен из-за следующего исключения проверки: Файл D:Program Файлы (x86) Microsoft Visual Studio 10.0 Common7 IDE Extensions Microsoft Corporation NuGet Package Manager 1.2.20325.9034 Scripts NuGet.Не удается загрузить Types.ps1xml. Файл D:Program Файлы (x86) Microsoft Visual Studio 10.0 Common7 IDE Extensions Microsoft Corporation NuGet Package Manager 1.2.20325.9034 Scripts NuGet.Types.ps1xml не имеет цифровой подписи. Скрипт не будет выполняться в системе. Пожалуйста, смотрите «get-help about_signing» для получения более подробной информации… Возникли ошибки при загрузке файла данных формата: D:Program Файлы (x86) Microsoft Visual Studio 10.0 Common7 IDE Extensions Microsoft Corporation NuGet Package Manager 1.2.20325.9034 Scripts NuGet.Формат.ps1xml, , D:Program Файлы (x86) Microsoft Visual Studio 10.0 Common7 IDE Extensions Microsoft Corporation NuGet Package Manager 1.2.20325.9034 Scripts NuGet.Формат.ps1xml : Файл пропущен из-за следующего исключения проверки: Файл D:Program Файлы (x86) Microsoft Visual Studio 10.0 Common7 IDE Extensions Microsoft Corporation NuGet Package Manager 1.2.20325.9034 Scripts NuGet.Формат.ps1xml не может быть загружен. Файл D:Program Файлы (x86) Microsoft Visual Studio 10.0 Common7 IDE Extensions Microsoft Corporation NuGet Package Manager 1.2.20325.9034 Scripts NuGet.Формат.ps1xml не имеет цифровой подписи. Скрипт не будет выполняться в системе. Пожалуйста, смотрите «get-help about_signing» для получения более подробной информации…

Таким образом, похоже, что здесь возникают две ошибки: одна при попытке загрузить файл расширенных данных и одна при загрузке файла данных формата.

Я установил powershell 2.0. У кого-нибудь есть идеи? Должен ли меня волновать, был ли проект создан успешно (я думаю)?

Комментарии:

1. Если вы откроете приглашение powershell и запустите Get-ExecutionPolicy, что оно скажет? Появляется ли эта ошибка при сбросе VS и создании нового приложения MVC?

2. Get-ExecutionPolicy сообщает об удаленном проектировании. Не эксперт по PS, поэтому не уверен, хорошо это или плохо. Хорошей новостью является то, что, по-видимому, простой перезапуск VS (дважды) сделал свое дело. Должно быть, был какой-то странный дескриптор файла, который не был выпущен.

Ответ №1:

Как вы установили NuGet?

Я просто боролся с аналогичной ошибкой, которая была вызвана тем, что я извлек модуль Powershell, предварительно не нажав «Разблокировать» в свойствах zip-файла перед извлечением. Это означало, что все файлы были помечены как поступающие из Интернета, а RemoteSigned не разрешает запускать неподписанные удаленные файлы.

Перейдите к папке, содержащей упомянутые файлы, и откройте диалоговое окно свойств для них, и посмотрите, есть ли сообщение «Этот файл получен из Интернета» с кнопкой «Разблокировать». Если это так, щелкните его для каждого файла, а затем повторите попытку.

Комментарии:

1. Хороший совет. Я получил NuGet как часть обновления инструментов MVC 3. Нет сообщения с кнопкой разблокировки, но, возможно, она была установлена до начала работы.

2. В настоящее время есть еще более простой способ исправить это. Временно измените политику выполнения powershell, чтобы разрешить выполнение скриптов, загруженных из веб-ресурсов. powershell -ExecutionPolicy ByPass -File script-to-run.ps1

Ответ №2:

По какой-то причине я часто сталкиваюсь с подобной проблемой. Все файлы NuGet разблокированы, и простой перезапуск VS (путем открытия файла sln) не исправляет это. Что делает, так это открывает Visual Studio сама по себе, без загрузки решения, затем открывает консоль диспетчера пакетов, а затем открывает решение.

Ответ №3:

Эта ошибка для меня была вызвана .Net Reflector (бесплатная версия). Использовал диспетчер дополнений, чтобы отключить его, и я в порядке.

Ответ №4:

У меня была такая же ошибка! Мое решение было действительно простым. Просто щелкните правой кнопкой мыши Visual Studio и выберите «Запуск от имени администратора» при попытке открыть свое решение.

Ответ №5:

Я считаю, что вам нужно запускать Visual Studio от имени администратора.

В консоли диспетчера пакетов вы можете проверить политику выполнения Powershell. Введите «get-executionpolicy». По умолчанию это будет значение типа «RemoteSigned». Подписано MvcScaffolding, поэтому оно будет выполняться в соответствии с этой политикой.

Вот URL-адрес с дополнительной информацией: http://technet.microsoft.com/en-us/library/dd347649.aspx

и вот документированные различные политики выполнения: http://technet.microsoft.com/en-us/library/dd347628.aspx

Вот выдержка из torm первая ссылка: При попытке запустить загруженный скрипт Windows PowerShell отображает следующее сообщение об ошибке:

     The file <file-name> cannot be loaded. The file 
    <file-name> is not digitally signed. The script
    will not execute on the system. Please see "Get-Help
    about_signing" for more details.

Before you run the script, review the code to be sure that you trust it.
Scripts have the same effect as any executable program.

To run an unsigned script:

    1. Save the script file on your computer. 
    2. Click Start, click My Computer, and locate the saved script file. 
    3. Right-click the script file, and then click Properties. 
    4. Click Unblock.

If a script that was downloaded from the Internet is digitally signed, but
you have not yet chosen to trust its publisher, Windows PowerShell displays
the following message:

    Do you want to run software from this untrusted publisher? 
    The file <file-name> is published by CN=<publisher-name>. This 
    publisher is not trusted on your system. Only run scripts
    from trusted publishers.

    [V] Never run  [D] Do not run  [R] Run once  [A] Always run  
    [?] Help (default is "D"):

    If you trust the publisher, select "Run once" or "Always run." 
    If you do not trust the publisher, select either "Never run" or 
    "Do not run." If you select "Never run" or "Always run," Windows
    PowerShell will not prompt you again for this publisher.
  

Надеюсь, это поможет.

Ответ №6:

Возможно, вы захотите просто изменить политику выполнения Powershell на неограниченную. Смотрите эту статью Microsoft KB KB 2411920.