Oto, co zrobiłem, aby to działało z moim korporacyjnym serwerem proxy, który używa uwierzytelniania NTLM. Pobrałem NuGet.exe a następnie prowadził następujące polecenia (które znalazłem w komentarzach do tej dyskusji na 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
To umieściło następujące w mojej NuGet.config
lokalizacji %appdata%\NuGet
(która mapuje do C: \ Users \ myUserName \ AppData \ Roaming na moim komputerze z systemem 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>
Nawiasem mówiąc, rozwiązało to również mój problem z NuGet działającym tylko przy pierwszym trafieniu do źródła pakietu w programie Visual Studio.
Zwróć uwagę, że niektóre osoby, które wypróbowały to podejście, zgłosiły w komentarzach, że udało im się pominąć ustawienie http_proxy.password
klucza z wiersza poleceń lub usunąć go po fakcie z pliku konfiguracyjnego i nadal mogły mieć funkcję NuGet przez proxy.
Jeśli jednak okaże się, że musisz określić swoje hasło w pliku konfiguracyjnym NuGet, pamiętaj, że musisz zaktualizować przechowywane hasło w konfiguracji NuGet z wiersza polecenia podczas zmiany logowania sieciowego, jeśli poświadczenia serwera proxy są również Twoją siecią poświadczenia .