Не удается установить пакет в Visual Studio 2015

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

Attempting to gather dependencies information for package 'Sendgrid.6.1.0' with respect to project 'UIMyApplication.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:UsersKeithSourceWorkspacesMyApplicationMyApplication.MVCpackages'
Install failed. Rolling back...

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

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

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

20 ответов


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>

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

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


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

для этого:

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

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

надеюсь, что это помогает!


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

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


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

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


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

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

Я снова заработал, установив package manager 3.4.4 (бета) от http://dist.nuget.org/index.html

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


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

  1. откройте NuGet Package Manger, удалите все пакеты, которые установлены
  2. откройте папку References, щелкните правой кнопкой мыши > Удалить для всех пакетов, которые у вас есть установлено
  3. переустановите их через Диспетчер пакетов Nuget
  4. Регистрация

Я смог решить эту проблему, переустановив Диспетчер пакетов Nuget с помощью инструментов - > расширения и обновления


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

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


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

enter image description here


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

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

Я решить проблемы

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

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

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

но... если вы по какой-то причине не хотите сразу выходить из VS, я все равно смог добавить/удалить пакеты из всех проектов, выбрав"Управление NuGet Пакеты для решения' вариант, а не отдельный проект с проблемой.


ремонт Visual Studio 2015, похоже, решил эту проблему для меня. См.этот вопрос для NuGet в GitHub.


иногда сложные проекты имеют трудное время для координации того, где изменения принадлежат. Например, в одном случае я получил эту ошибку, когда на пакет nuget ссылалось другое решение, которое мы должны были включить в "основное" решение, и это вызвало подгонку IDE, потому что было доступно несколько менеджеров пакетов nuget. Многие из этих типов проблем можно решить, удалив и восстановив ссылки и зависимости один за другим с нуля в проекты, в которых есть проблемы / ошибки.


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

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


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


измените "источник пакета" в nuget на All

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

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


некоторые пакеты могут не поддерживаться вашим типом проекта. Например, вы не можете использовать RestSharp или Moq с проектами UAP.

чтобы получить лучшее сообщение об ошибке, попробуйте добавить пакет в папку project.json файл напрямую, а затем пытается создать ваше решение.


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


решить мою проблему... мой проект имел такой длинный путь в моем e drive. я просто поместил его в корень мой электронный привод... и это сработало отлично для меня...