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