Доступ к официальному пакету Nuget Source за прокси-сервером компании
Я пытаюсь использовать Nuget в VS2010 на работе. Когда я пытаюсь загрузить пакеты из официального канала, он всегда терпит неудачу с 403.
Я читал, что Nuget будет использовать те же настройки прокси-сервера, что и IE, что для меня несчастливо, поскольку мой IE заблокирован. Я не могу изменить прокси.
Я искал URL-адреса feedservice, которые отскакивают, в IE я получаю сообщение об ошибке, в Firefox (с локальным определением proxy.pac) URL-адреса обрабатываются нормально, и я могу видеть каналы.
Есть ли способ вручную настроить Nuget, чтобы не использовать настройки IE?
Ответы
Ответ 1
Если вы не можете получить исключение, добавленное в ваш прокси, или просто хотите немедленное решение, отредактируйте конфигурационный файл Visual Studio (devenv.exe.config), расположенный в установочном каталоге Visual Studio (например, - C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE
). и измените/добавьте раздел конфигурации <system.net>
в следующее, что позволит Visual Studio работать с прокси:
<system.net>
<defaultProxy useDefaultCredentials="true" enabled="true">
<proxy proxyaddress="http://<Insert proxy address here>" />
</defaultProxy>
<settings>
<servicePointManager expect100Continue="false" />
<ipv6 enabled="true" />
</settings>
</system.net>
Все, что вам нужно сделать, это изменить <Insert proxy address here
> на адрес прокси-сервера вашей компании. Кроме того, в зависимости от настроек прокси-сервера вы можете использовать сообщения Expect100Continue и, возможно, не потребуется изменять этот элемент конфигурации. Вы можете найти более подробную информацию здесь
Ответ 2
Ниже приводится связанный с этим вопрос, который я вчера ответил.
Вот что я сделал, чтобы это работало с моим корпоративным прокси, использующим аутентификацию NTLM. Я загрузил NuGet.exe из ссылки на эту страницу, а затем выполнил следующие команды (которые я нашел в комментарии к это обсуждение на CodePlex):
nuget.exe config -set http_proxy=http://my.proxy.address:port
nuget.exe config -set http_proxy.user=mydomain\myUserName
nuget.exe config -set http_proxy.password=mySuperSecretPassword
Вставьте это в мой NuGet.config
, расположенный в %appdata%\NuGet
(который сопоставляется с C:\Users\myUserName\AppData\Roaming на моей машине с Windows 7):
<configuration>
<!-- stuff -->
<config>
<add key="http_proxy" value="http://my.proxy.address:port" />
<add key="http_proxy.user" value="mydomain\myUserName" />
<add key="http_proxy.password" value="base64encodedHopefullyEncryptedPassword" />
</config>
<!-- stuff -->
</configuration>
Кстати, это также устранило мою проблему с NuGet, только работая в первый раз, когда я попал в источник пакета в Visual Studio.
Обратите внимание, что некоторые люди, которые пробовали этот подход, сообщили через комментарии к моему другому ответу, что они смогли опустить установку ключа http_proxy.password
из командной строки или удалить его после факта из файла конфигурации и все еще могут иметь функцию NuGet через прокси.
Если вы обнаружите, что вы должны указать свой пароль в конфигурационном файле NuGet, помните, что вам необходимо обновить сохраненный пароль в конфигурации NuGet из командной строки при изменении входа в сеть, если ваш прокси-учетные данные также являются вашими учетными данными сети.
Ответ 3
Ну, мне удалось заставить ИТ-отдел разрешить неограниченный доступ к packages.nuget.org, чтобы он разобрался. Мы используем здесь софту, и любой веб-запрос ему не нравится, когда внешний вид заблокирован. Это применимо к URL-адресам nuget. Обходной путь состоял в том, чтобы использовать диспетчер пакетов библиотек для запуска установки с запуском скрипача. Затем скопируйте URL-адрес, который был запрещен в моем браузере, и скажите, что у него все в порядке. Я мог бы успешно установить пакет
надеюсь, что это поможет кому-то застрять за боевым брандмауэром.
Ответ 4
Если вы не знаете настройки прокси-сервера, и NuGet запрашивает прокси-пользователя и пароль, вы можете попробовать добавить в devenv.exe.config
файл в установочном каталоге Visual Studio, между тегами <system.net>
:
<defaultProxy useDefaultCredentials="true" enabled="true">
<proxy usesystemdefault="True"/>
</defaultProxy>
он должен выглядеть так, в зависимости от вашего VisualStudio:
<system.net>
<defaultProxy useDefaultCredentials="true" enabled="true">
<proxy usesystemdefault="True"/>
</defaultProxy>
<settings>
<ipv6 enabled="true" />
</settings>
</system.net>
Это сработало для меня, даже не указав адрес прокси-сервера:)
На самом деле это должно быть поведение по умолчанию, я потерял столько дней, пытаясь преодолеть это...
Ответ 5
У меня возникла проблема с доступом к сайту Nuget через консоль Nuget. "Получил неожиданный EOF или 0 байтов из транспортного потока".. В итоге это была проблема с прокси-сервером, разница в том, что мой рабочий прокси "невидим" и не имеет параметров конфигурации. Я решил проблему со следующими шагами.
- Открыть Visual Studio в качестве администратора
- Откройте внутренний браузер Visual Studio (View | Other Windows | Web Browser)
- Перейдите на ваш сайт в банках - или на другом сайте, использующем SSL
Возможно, вам нужно войти на сайт, я этого не сделал.
- Затем запустите команду Install-package в консоли Nuget.
- Команда работает без ошибок.
Это может помочь в следующих проблемах:
Надеюсь, это поможет.