Неможливо встановити будь-який пакет у 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 Package Manager.

ОНОВЛЕННЯ:
Ну, має бути щось дивне в моєму рішенні, тому що я створив новий проект із шаблону VS2015 (веб), і пакунки встановлюються просто. Коли я дізнаюся про проблему, я опублікую рішення, якщо інші зіткнуться з тією ж проблемою.

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


1
Використовувати VS2013 для додавання пакетів VS2015 дуже проблематично, тоді просто відкрийте VS2015 і продовжуйте користуватися цим
Rob Sedgwick

Відповіді:


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
Дивовижний збіг. Це повідомлення від року тому редагується прямо перед моїми очима, коли мені потрібна відповідь. Дякую!
Jason Spake

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 Gallery .
  3. Якщо є оновлення для Nuget Package Installer, воно повинно відображатися у списку праворуч. Клацніть Оновити
  4. Перезапустіть Visual Studio

Це дозволить мені знову без проблем встановлювати пакети.

Сподіваюся, це допомагає!


1
Я дотримувався цього, однак оновлення не очікували на 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.
Захисник один

Де я можу знайти папку "пакети"? У мене є лише бін і обж.
Денні

8

Вам потрібно очистити всі кеші NuGet; для цього вам потрібно перейти до «Параметри» та натиснути на неї так:

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


Ісусе, омгу, ти врятував мені життя, я божеволіла ... Мені завжди доходила помилка "Встановлення не вдалося. Відкат ...". Спробувавши видалення конфігураційного файлу NuGet, прийняв відповідь, а також спробував перезапустити VS та комп'ютер ... очистив мої нутетні канали, знову налаштував .. нічого, але потім це виправлено! Спасибі тобі чоловік!
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 також містять виправлення


Дякую за це! :)
Ramanpreet Singh

3

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

  1. відкрийте Nuget Package Manger, видаліть усі встановлені пакунки
  2. Відкрийте папку References, клацніть правою кнопкою миші> Delete для всіх встановлених пакунків
  3. Повторно встановіть їх через Nuget Package Manager
  4. Перевірь

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

3

Мені вдалося вирішити цю проблему, перевстановивши Nuget Package Manager через Інструменти -> Розширення та оновлення


3

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

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


1

У моєму випадку ця проблема була викликана невідповідністю моїх цільових рамкових установок під кожен проект. Коли я створив новий проект, VS 2015 встановив дефолт до 4.5.2, проте всі мої пакунки з нуля були розроблені для 4.6.

Чомусь VS 2015 не показував мені цих помилок. Я не бачив їх, поки не створив новий порожній проект і не спробував додати туди свій самобутній проект. Така поведінка, можливо, посилилася, оскільки я перейменував проект кілька разів під час початкового налаштування.

Я вирішив проблему шляхом

  • зміна Цільової рамки для моїх проектів на 4.6
  • закрито VS 2015
  • видалені папки "пакети", "obj" та "bin"
  • повторно відкрийте рішення та спробуйте додати нут-пакунок ще раз.

1

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

Як було запропоновано вище, надійним виправленням слід виконати наступне ... 1) Вийти з Visual Studio, 2) Видалити папку пакунків , 3) Перезапустити VS.

Але ... якщо ви з якоїсь причини не хочете негайно вийти з VS, мені все ж вдалося додати / видалити пакунки з усіх проектів, вибравши опцію " Керувати пакетами NuGet для рішення ", а не окремим проектом з проблемою. .


Де папка пакунків, про яку всі говорять?
ShrimpCrackers

@ShrimpCrackers - у тому самому місці, що і файл рішення (.sln)
контрольне



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 був порожній файл пакунків.config, після видалення цього оновлення вдалося

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.