Ошибка nuget Visual Studio 2010: базовое соединение было закрыто: не удалось установить доверительные отношения для безопасного канала SSL / TLS - PullRequest
50 голосов
/ 23 января 2012

Всякий раз, когда я пытаюсь что-то установить или даже просто перечислить пакеты, я получаю эту ошибку "Базовое соединение было закрыто: не удалось установить доверительные отношения для безопасного канала SSL / TLS"

Я пытался это решение от Codeplex без удачи.

Я использую последнюю версию Nuget .

Я также пробовал разные варианты в devenv.exe.configкак это:

<servicePointManager  checkCertificateName="false"    checkCertificateRevocationList="false"/>

Ответы [ 10 ]

90 голосов
/ 27 февраля 2012
  • Перейдите к VS2010 → Инструменты → Диспетчер пакетов библиотеки → Настройки диспетчера пакетов.

  • Выберите Диспетчер пакетов → Источники пакетов.

  • Добавить новый источник пакета как:

  • Переместить источник добавленного пакета на первую позицию.

  • Снять отметку с «Официального источника пакета Nuget»

  • Перезапустить VS2010.

11 голосов
/ 06 декабря 2012

Перейдите на https://nuget.org/ и получите его сертификат.

Например, если вы используете Firefox: после открытия сайта nuget - нажмите значок сайта в левой части адресной строки, нажмите «Дополнительная информация », а на вкладке« Безопасность »должен быть раздел« Идентификация веб-сайта »с кнопкой« Просмотреть сертификат ».Нажмите там, в открывшемся диалоговом окне выберите вкладку Подробности - там вы должны увидеть цепочку * .nuget.org.Нажмите кнопку «Экспорт» внизу и сохраните сертификат в файл (добавьте расширение .cer вручную, потому что диалог не сделает это за вас).

Теперь вам нужно настроить систему так, чтобы онадоверяй сертификатуНажмите Win + R (откроется диалоговое окно «Выполнить») -> введите mmc и запустите его (с правами администратора, если у вас включен UAC).Там выберите Файл -> Добавить или удалить оснастку ... -> выберите Сертификаты слева, в диалоговом окне выберите Computer account и Local computer.Нажмите OK - дерево будет иметь Certificates узел в Console root.Откройте его и папку с файлом Trusted People.Из его контекстного меню выберите Все задачи -> Импорт ... -> Выберите файл, который вы экспортировали ранее и импортируйте его.

Все должно работать нормально.

10 голосов
/ 22 июля 2013

У нас была такая же проблема в работе, и мы решили ее, отбросив безопасный сокет, Https -> http .Это означает, что вы можете использовать URL-адрес V2 http://nuget.org/api/v2/.

Возможно, проблема в избавлении от безопасного сокета, но вышеуказанный URL-адрес (http://packages.nuget.org/v1/FeedService.svc/) также небезопасен.

8 голосов
/ 01 июня 2012

Очевидно, что проблема с сертификатом SSL на go.microsoft.com.Измените URL источника пакета на http://packages.nuget.org/v1/FeedService.svc/, и он должен работать просто отлично.

7 голосов
/ 07 мая 2014

Related: ServicePointManager не поддерживает прокси со схемой https

Если у вас ранее был открыт Fiddler, у вас вполне может быть сертификат для nuget.org, который недействителен.

Если это так, откройте MMC, добавьте оснастку «Сертификаты» (текущий пользователь) и удалите nuget.org из личного хранилища.

Example certificate to remove

Из-за того, что Nuget хранит дескриптор этого сертификата (по-видимому), вам придется перезапустить Visual Studio.После этого вы должны хорошо провести время.

4 голосов
/ 22 июля 2014

Перейдите в VS2012 -> Инструменты -> Диспетчер пакетов библиотеки -> Настройки диспетчера пакетов. Выберите Диспетчер пакетов -> Источники пакетов.

  1. Добавить новый источник пакета как: Name = NugetSource Source = http://packages.nuget.org/v1/FeedService.svc/
  2. Переместить вверх добавленный источник пакета на первую позицию.
  3. Снимите отметку с «Официального источника пакета Nuget»
  4. Перезапустите VS2012.

Это работает на моей машине.

2 голосов
/ 22 января 2015

На сегодня, 21 января 2015 года, правильный URL-адрес: https://www.nuget.org/api/v2/. Требуется www или сертификат не работает. НЕ возвращайтесь к http, потому что вы открываете свой код и всех его потребителей для неприятного вектора MITM.

0 голосов
/ 30 марта 2018

Для меня проблема была решена путем очистки кэша nuget (и перезапуска VS)

image

0 голосов
/ 29 сентября 2015

Мне пришлось удалить https в настройках локального компьютера для Nuget и добавить (http) его на уровень пользователя в Инструменты -> Диспетчер пакетов библиотеки -> Настройки диспетчера пакетов. Выберите Диспетчер пакетов -> Источники пакетов.

0 голосов
/ 18 августа 2015

Я мог бы решить эту проблему, опустив безопасный сокет, https -> http. Перейдите на страницу Инструменты -> Диспетчер пакетов Nuget -> Источники пакетов , затем добавьте новый источник, но без https:

Это означает http://nuget.org/api/v2/.

...