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



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



Я попробовал это Решение из Codeplex, но безуспешно.



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



Я также пробовал различные варианты в devenv.exe.конфигурация такая:



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

10 ответов:

  • Перейдите в раздел VS2010 → инструменты → Диспетчер пакетов библиотек → настройки диспетчера пакетов.

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

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

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

  • Снимите существующий "официальный пакет NuGet источник "

  • Перезагрузка VS2010.

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

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

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

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

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

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

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

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

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

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

Пример сертификата для удаления

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

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

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

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

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

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

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

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

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

Comments

    Ничего не найдено.