Ошибка в Visual Studio 2010 nuget: базовое соединение было закрыто: не удалось установить доверительные отношения для защищенного канала SSL/TLS
Всякий раз, когда я пытаюсь установить что-то или даже просто перечислить пакеты, я получаю эту ошибку. "Основное соединение было закрыто: не удалось установить доверительные отношения для защищенного канала SSL/TLS"
Я попробовал это решение от Codeplex без везения.
Я использую последнюю версию Nuget.
Я также пробовал различные параметры в файле devenv.exe.config следующим образом:
<servicePointManager checkCertificateName="false" checkCertificateRevocationList="false"/>
Ответы
Ответ 1
-
Перейдите к VS2010 → Инструменты → Диспетчер пакетов библиотек → Настройки диспетчера пакетов.
-
Выберите "Диспетчер пакетов" → "Источники пакетов".
-
Добавьте новый источник пакета как:
-
Переместить новый добавленный источник пакета в первую позицию.
-
Отменить существующий "официальный источник пакета Nuget"
-
Перезапустите VS2010.
Ответ 2
Перейдите в https://nuget.org/ и получите его сертификат.
Например, если вы используете Firefox: после открытия нужного сайта - щелкните значок сайта в левой части адресной строки, нажмите "Дополнительная информация", а на вкладке "Безопасность" должен быть раздел "Идентификация веб-сайта" с кнопкой "Просмотр сертификата". Нажмите там, в открывшемся диалоговом окне выберите вкладку "Подробности" - там вы увидите цепочку для *.nuget.org. Нажмите кнопку "Экспорт" внизу и сохраните сертификат в файл (добавьте расширение .cer
вручную, потому что диалог не сделает этого для вас).
Теперь вам нужно настроить систему так, чтобы она доверяла сертификату. Нажмите Win + R (откроется диалог запуска) → введите mmc
и запустите его (с правами администратора, если вы включили UAC). Там выберите Файл → Добавить или удалить snapin... → выберите Сертификаты слева, в диалоговом окне выберите Computer account
и Local computer
. Нажмите OK - дерево будет иметь Certificates
node в Console root
. Откройте его и папку с файлом Trusted People
. В контекстном меню выберите Все задачи → Импорт... → Выберите файл, который вы экспортировали ранее, и импортируйте его.
Все должно работать нормально.
Ответ 3
У нас была такая же проблема в работе, и мы решили это, сбросив защищенный сокет, Https → http. Это означает, что вы можете использовать URL-адрес V2 http://nuget.org/api/v2/.
Возможно, проблема избавится от безопасного сокета, но указанный выше URL (http://packages.nuget.org/v1/FeedService.svc/) также небезопасен.
Ответ 4
По-видимому, проблема с сертификатом SSL на go.microsoft.com. Измените URL источника пакета на http://packages.nuget.org/v1/FeedService.svc/, и он должен работать нормально.
Ответ 5
Связано: ServicePointManager не поддерживает прокси с помощью схемы https
Если вы ранее открыли Fiddler, возможно, у вас есть сертификат для nuget.org, который недействителен.
Если это так, откройте MMC, добавьте snapin сертификатов (текущий пользователь) и удалите nuget.org из личного хранилища.
![Example certificate to remove]()
Из-за того, что Nuget сохраняет дескриптор этого сертификата (по-видимому), вам придется перезапустить Visual Studio. Впоследствии вы должны хорошо провести время.
Ответ 6
Перейти к VS2012 → Инструменты → Менеджер пакетов библиотек → Настройки диспетчера пакетов
Выберите "Менеджер пакетов" → "Источники пакетов".
- Добавьте новый источник пакета как: Name= NugetSource Source = http://packages.nuget.org/v1/FeedService.svc/
- Переместить новый добавленный источник пакета в первую позицию.
- Отменить существующий "официальный пакет пакетов Nuget"
- Перезапустите VS2012.
Это работает на моей машине.
Ответ 7
На сегодняшний день 21 января 2015 года правильный URL-адрес https://www.nuget.org/api/v2/. Требуется WWW или сбой сертификата. НЕ возвращайтесь к http, потому что вы открываете свой код и все его потребители к противному вектору MITM.
Ответ 8
Я мог бы решить эту проблему, сбросив защищенный сокет, https
->
http
.
Перейдите к Tools ->
Nuget Package Manager ->
Package Sources, затем добавьте новый источник, но без https
:
Это означает http://nuget.org/api/v2/.
Ответ 9
Мне пришлось удалить https в настройках локального компьютера для Nuget и добавить (http) его на уровень пользователя в Tools → Manager Package Manager → Параметры диспетчера пакетов. Выберите "Менеджер пакетов" → "Источники пакетов".