Невозможно установить любой пакет в Visual Studio 2015


183

Я перепробовал все пакеты, которые смог найти, и ни один из них не будет установлен в моем проекте. Я установил все обновления, перечисленные в списке расширений и обновлений, которые были доступны. Когда я пытаюсь установить SendGrid, например, это результат (как и для всех других пакетов):

Attempting to gather dependencies information for package 'Sendgrid.6.1.0' with respect to project 'UI\MyApplication.MVC', targeting '.NETFramework,Version=v4.5.2'
Attempting to resolve dependencies for package 'Sendgrid.6.1.0' with DependencyBehavior 'Lowest'
Resolving actions to install package 'Sendgrid.6.1.0'
Resolved actions to install package 'Sendgrid.6.1.0'
For adding package 'SendGrid.SmtpApi.1.3.1' to project 'MyApplication.MVC' that targets 'net452'.
For adding package 'SendGrid.SmtpApi.1.3.1' to project 'MyApplication.MVC' that targets 'net452'.
Adding package 'SendGrid.SmtpApi.1.3.1' to folder 'C:\Users\Keith\Source\Workspaces\MyApplication\MyApplication.MVC\packages'
Install failed. Rolling back...

Я не могу быть единственным на планете, имеющим проблемы с Visual Studio 2015 и новым и «улучшенным» диспетчером пакетов NuGet.

ОБНОВЛЕНИЕ:
Ну, должно быть, что-то странное в моем решении, потому что я создал новый проект из шаблона VS2015 (веб), и пакеты устанавливаются просто отлично. Когда я выясню проблему, я опубликую решение, если другие столкнутся с той же проблемой.

ОБНОВЛЕНИЕ 2:
Хорошо, это не наше решение. Мы снова создали новое решение (я мог бы добавить, что это потратило много времени на разработку), добавили пару пакетов (Identity, EF, SendGrid) и после проверки решения в VSO другой разработчик выполняет новое создание. ветки и ошибки сборки происходят. Когда я перехожу к пакетам NuGet для отдельного проекта, он действует так, как будто ни один из добавленных мною пакетов недоступен. Кто-нибудь еще испытывает это?


1
Использовать VS2013 для добавления пакетов VS2015 очень проблематично, тогда просто откройте в VS2015 и продолжайте использовать это
Роб Седжвик

Ответы:


124

tl; dr - Удалить это:

%AppData%/Nuget/Nuget.config

Предупреждение. Если у вас есть собственные источники NuGet, это приведет к их удалению, и вам придется их повторно добавлять.


Более длинная версия:

Возможно, вы испортили конфигурацию NuGet. О нет :(

Nuget.config - это файл, используемый для отслеживания всех мест, из которых извлекается NuGet, а также для настройки других вещей. Скорее всего, этот XML-файл как-то сломался.

  • Перейти к этому пути: C:\Users\{{username}}\AppData\Roaming\
  • Удалить Nuget.config
  • Перезапустите VS для хорошей меры

Для справки: в хорошие дни 2017 года ваш файл должен выглядеть примерно так

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageRestore>
    <add key="enabled" value="True" />
    <add key="automatic" value="True" />
  </packageRestore>
  <activePackageSource>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
  </activePackageSource>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
    <add key="nuget.org" value="https://www.nuget.org/api/v2/" />
    <!-- Others -->
  </packageSources>
  <packageSourceCredentials>
    <!-- secret stuff -->
  </packageSourceCredentials>
</configuration>

Спасибо, это было отличное решение
Nic

Это работает и для меня, спасибо, Статуя, вы сэкономили мое время.
Рамешвар Вейхаре

1
Удивительное совпадение. Это сообщение год назад редактируется прямо перед моими глазами, когда мне нужен ответ. Спасибо!
Джейсон

1
Извините, что поднял этот вопрос, но мой должен был быть особенным и назывался NuGet.Config, который был очень специфичен для NTFS для меня!
TGP1994

2
(На самом деле оказалось, что мне даже не нужно было удалять конфигурацию. Потребовался перезапуск Visual Studio.)
TGP1994

415

Закрытие и повторное открытие VS2015 решает проблему.

Кажется, что в некоторых случаях простая перезагрузка затронутого проекта будет работать.


3
Это сработало и для меня, после того, как я закрыл VS, очистил папку с пакетами для решения и перезапустил.
Вислон

6
Это сработало для меня, хотя я должен был закрыть все экземпляры VS - недостаточно было закрыть только пораженный.
Рори МакКроссан

4
Кажется, все так просто ... и все же +111 голос! У меня тоже сработало!
Энтони Николс

22
Почему, Microsoft?!?! Почему это должен быть лучший ответ (и тот, который работал для меня)?
Мэтт Руве

2
Мне не нравится ответ, но он работает, нам нужно «почему»
Зинов

32

Я нашел решение для этого в моем случае, попробуйте обновить диспетчер пакетов NuGet.

Сделать это:

  1. От VS перейдите в Инструменты -> Расширения и обновления
  2. Откройте обновления меню « слева и выберите « Галерея Visual Studio» .
  3. Если есть обновление для Nuget Package Installer, оно должно появиться в списке справа. Нажмите Обновить
  4. Перезапустите Visual Studio

Это позволило мне снова установить пакеты без проблем.

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


1
Я следовал за этим, однако не было никаких обновлений, ожидающих для Nuget. Был один для "Веб-инструменты", и это решило ошибку "конфигурация nuget неверна" для меня.
RyanJMcGowan

1
Вероятно, дело не в том, что вы обновили «Веб-инструменты», а в том, что для установки обновлений расширений требуется перезапустить Visual Studio. Перезапуск работал на меня.
Джо Кодер

У меня тоже
сработало

В моем случае обновления не было, но я скачал последнюю версию с dotnet.myget.org/F/nuget-vsix/vsix, и это сработало.
DavidC

20

В моем случае обновление Microsoft.CodeDom.Providers.DotNetCompilerPlatformи Microsoft.Net.Compilers вызвало проблему.

Удаление bin, objи packagesпапка и перезапуск Visual Studio 2015 решить эту проблему для меня.


1
Другие решения не сработали, но это сработало. Удаление «пакетов» было ключевым для меня
Гордон Слизз

1
Я не знаю, почему удаление пакетов может работать, но это так! Хотя я ничего не обновлял, я просто переходил с Visual Studio 2010 на 2015 год и с .NET 4.0 на 4.5.
Один защитник

Где я могу найти папку «пакеты»? У меня есть только bin и obj.
Денни

8

Вам необходимо очистить все кэши NuGet; для этого вам нужно перейти в настройки и нажать на него, как это:

введите описание изображения здесь


Господи, боже мой, ты спас мне жизнь, я сходил с ума ... У меня всегда была ошибка "Установка не удалась. Откат ...". При попытке удаления файла конфигурации NuGet был получен ответ, а также попытался перезапустить VS и компьютер ... очистил мои каналы Nuget, настроил снова ... ничего, но затем это исправило! Большое спасибо, мужчина!
TiagoM

7

В целом закрытие и повторное открытие VS 2015 исправило большинство проблем, с которыми я столкнулся . Однажды мне нужно было выполнить ремонт на одном из моих компьютеров.

Однако я собирался сделать это, Closing and re-opening VS2015 resolved the issue for me я решил вместо этого щелкнуть правой кнопкой мыши на проекте и Разгрузить проект, затем щелкнуть правой кнопкой мыши и перезагрузить проект, ТО Сработал Управление Nuget !


4

Просто для того, чтобы помочь любому, кто попал на эту страницу после обновления VS2015 до обновления 2 и попытки управлять пакетами на веб-сайте, получив сообщение об ошибке «Файл конфигурации NuGet недействителен», это известная и признанная проблема:

https://connect.microsoft.com/VisualStudio/feedback/details/2698136/nuget-configuration-is-invalid-manage-nuget-packages-for-solution-disabled

Я снова начал работать, установив менеджер пакетов 3.4.4 (бета) из http://dist.nuget.org/index.html

Они также заявляют, что обновление 3 для Visual Studio также будет содержать исправление


Большое спасибо за это! :)
Раманприт Сингх

3

Я думаю, Nuget Package Manager работает с VSO. Я создаю новый проект, просто добавляю в него пакеты, проверяю в TFS. Затем я возвращаюсь домой, "Получить последнюю версию" и запускаю, но не могу, потому что Nuget Package Manager не восстанавливает мои пакеты. Решение: на моей домашней машине

  1. откройте диспетчер пакетов Nuget, удалите все установленные пакеты
  2. Откройте папку «Ссылки», щелкните правой кнопкой мыши> Удалить для всех установленных пакетов.
  3. Переустановите их через диспетчер пакетов Nuget
  4. Регистрироваться

Я попытался добавить / обновить пакеты из нового проекта и получил тот же неудачный результат. Я понизился до VS2013, пока диспетчер пакетов не будет обновлен в VS2015
часовой стрелке

3

Мне удалось решить эту проблему путем переустановки диспетчера пакетов Nuget через Сервис -> Расширения и обновления


3

У меня была эта проблема с Visual Studio 2017: оказывается, есть два проекта библиотеки классов - один для .Net, а другой для C #. Я создал один для .Net, и когда я попытался установить определенный пакет (Nunit в моем случае), я получил сообщение об ошибке.

Воссоздание проекта как библиотеки классов C # решило проблему


1

В моем случае эта проблема была вызвана несоответствием в настройках моей целевой структуры для каждого проекта. Когда я создал новый проект, VS 2015 по умолчанию установил 4.5.2, однако все мои пакеты nuget были собраны для 4.6.

По какой-то причине VS 2015 не показывал мне эти ошибки. Я не видел их, пока не создал новый пустой проект и не попытался добавить туда свой проект nuget. Такое поведение могло быть усугублено, потому что я переименовал проект несколько раз во время начальной настройки.

Я решил проблему

  • изменив Target Framework в моих проектах на 4.6
  • закрыто VS 2015
  • удалил папки "packages", "obj" и "bin"
  • заново откройте решение и попробуйте снова добавить пакет nuget.

1

Я использую Visual Studio 2015 Update 3, и мне удалось воспроизвести эту ошибку (несмотря на обновление 3, предположительно содержащее исправление).

Как предложено выше, надежное исправление заключается в следующем: 1) Выйти из Visual Studio, 2) Удалить папку пакетов , 3) Перезапустить VS.

Но ... если по какой-то причине вы не хотите немедленно выходить из VS, я все же смог добавить / удалить пакеты из всех проектов, выбрав опцию « Управление пакетами NuGet для решения », а не отдельный проект с проблемой ,


Где находится папка с пакетами, о которой все говорят?
Креветочные крекеры

@ShrimpCrackers - в том же месте, где находится файл решения (.sln)
controlbox


1

Просто перезапуск Visual Studio работает для меня .. попробуйте перезапустить Visual Studio.


0

У меня была эта проблема, которая, казалось, была вызвана чем-то сломанным в packagesпапке уровня решения . Я удалил содержимое папки и позволил nugetустановить все пакеты снова.

Затем я мог бы снова установить новые пакеты.


0

Откройте папку с пакетами. Проверьте, существуют ли файлы с расширением .deleteme, например, Newtonsoft.Json.9.0.1.deleteme. Удалите все пакеты с файлом .deleteme вручную. Удалите файлы .deleteme. Закройте и откройте Nuget Explorer.


0

Измените «источник пакета» в nuget на All

Детали: Ничто из перечисленного не помогло в моем случае. Моя проблема заключалась в том, что я ограничился только одним частным каналом. Как только я изменил «источник пакета» All, моя проблема была решена. Я считаю, что суть в том, что мой личный pkg зависит от других pkgs с nuget.org.

Я надеюсь, что это может помочь кому-то


0

В моем случае ничего из вышеперечисленного не помогло. Основной причиной проблемы в моем случае было то, что я ранее удалил пакет и не зарегистрировал изменения в системе контроля версий (в моем случае TFS). После проверки изменений (= удаление файла в папке пакетов) я мог переустановить пакет.


0

В моем случае в каталоге soultion был пустой файл packages.config, после удаления которого обновление прошло успешно

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.