Доступ к официальному источнику пакетов Nuget через прокси компании - PullRequest
16 голосов
/ 10 октября 2011

Я пытаюсь использовать Nuget в VS2010 на работе. Когда я пытаюсь загрузить пакеты с официального канала, он всегда завершается неудачно с 403.

Я читал, что Nuget будет использовать те же настройки прокси, что и IE, что, к сожалению, для меня, поскольку мой IE заблокирован. Я не могу сменить прокси.

Я перебрал URL-адреса фидсервисов, которые получают отказ, в IE я получаю ошибку, в Firefox (с определенным локальным proxy.pac) URL-адреса разрешаются нормально, и я вижу каналы.

Есть ли способ настроить Nuget вручную, чтобы не использовать настройки IE?

Ответы [ 5 ]

24 голосов
/ 31 мая 2012

Если вы не можете добавить исключение в прокси-сервер или просто хотите немедленное решение, отредактируйте файл конфигурации 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 , и вам может не потребоваться изменять этот элемент конфигурации. Вы можете найти более подробную информацию здесь

15 голосов
/ 17 марта 2013

Следующее относится к связанному вопросу, на который я недавно ответил .

Вот что я сделал, чтобы заставить это работать с моим корпоративным прокси-сервером, использующим проверку подлинности 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 из командной строки, когда вы меняете сетевой логин, если ваши учетные данные прокси-сервера также являются сетевыми учетными данными .

2 голосов
/ 28 января 2016

Если вы не знаете настройки прокси-сервера и 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>

У меня это работало даже без указания адреса прокси-сервера :) На самом деле это должно быть поведение по умолчанию, я потерял так много днейпытаясь преодолеть это ...

2 голосов
/ 25 октября 2011

Ну, мне удалось заставить ИТ-отдел разрешить неограниченный доступ к packages.nuget.org, так что разобрались.Мы используем sophos здесь, и любой веб-запрос, который ему не нравится, заблокирован.Это применимо к URL-адресам nuget.Обходной путь должен был использовать Диспетчер пакетов библиотеки, чтобы начать установку с запущенным fiddler.Затем скопируйте URL, который был запрещен, в мой браузер и скажите sophos, что все в порядке.Я мог бы затем успешно установить Install-Package

надеюсь, что это поможет любому, кто застрял за боевым брандмауэром

0 голосов
/ 21 января 2015

У меня была проблема с доступом к сайту Nuget через консоль Nuget. "Получил неожиданный EOF или 0 байтов из транспортного потока." В итоге возникла проблема с прокси-сервером, отличие заключалось в том, что мой рабочий прокси-сервер невидим и не имеет параметров конфигурации.Я решил свою проблему с помощью следующих шагов.

  1. Открыть Visual Studio с правами администратора
  2. Открыть внутренний браузер Visual Studio (Просмотреть | Прочие Windows | Веб-браузер)
  3. Перейти на сайт своего банка или другой сайткоторый использует SSL
    Может потребоваться фактический вход на сайт, я не сделал.
  4. Затем запустите команду Install-package в консоли Nuget.
  5. Команда работает без ошибок.

Это может помочь при следующих проблемах:

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...