I figure out that NuGet allows proxy settings configuration since 1.4 version (June 2011). But, I can't find any command line example.
I'm trying to run some build and NuGet can't connect.
How do I configure the proxy settings on the command line?
I figure out that NuGet allows proxy settings configuration since 1.4 version (June 2011). But, I can't find any command line example.
I'm trying to run some build and NuGet can't connect.
How do I configure the proxy settings on the command line?
Here's what I did to get this working with my corporate proxy that uses NTLM authentication. I downloaded NuGet.exe and then ran the following commands (which I found in the comments to this discussion on 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
This put the following in my NuGet.config
located at %appdata%\NuGet
(which maps to C:\Users\myUserName\AppData\Roaming on my Windows 7 machine):
<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>
Incidentally, this also fixed my issue with NuGet only working the first time I hit the package source in Visual Studio.
Note that some people who have tried this approach have reported through the comments that they have been able to omit setting the
http_proxy.password
key from the command line, or delete it after-the-fact from the config file, and were still able to have NuGet function across the proxy.
If you find, however, that you must specify your password in the NuGet config file, remember that you have to update the stored password in the NuGet config from the command line when you change your network login, if your proxy credentials are also your network credentials.
Maybe you could try this to your devenv.exe.config
<system.net>
<defaultProxy useDefaultCredentials="true" enabled="true">
<proxy proxyaddress="http://proxyaddress" />
</defaultProxy>
<settings>
<servicePointManager expect100Continue="false" />
<ipv6 enabled="true"/>
</settings>
</system.net>
I found it from the NuGet Issue tracker
There are also other valuable comments about NuGet + network issues.
xml <system.net> <defaultProxy useDefaultCredentials="true" enabled="true"> </defaultProxy> <settings> <ipv6 enabled="true"/> </settings> </system.net>
Work for me, it used the system proxy settings. Tested on WINDOWS 10 –
Gilgai Just in case you are using the HTTPS version of NuGet, be aware that you have to set the values with HTTPS.
https_proxy
https_proxy.user
https_proxy.password
I could be wrong but I thought it used IE's proxy settings.
If it sees that you need to login it opens a dialog and asks you to do so (login that is).
Please see the description of this here -> http://docs.nuget.org/docs/release-notes/nuget-1.5
Another flavor for same "proxy for nuget": alternatively you can set your nuget proxing settings to connect through fiddler. Below cmd will save proxy settings in in default nuget config file for user at %APPDATA%\NuGet\NuGet.Config
nuget config -Set HTTP_PROXY=http://127.0.0.1:8888
Whenever you need nuget to reach out the internet, just open Fiddler, asumming you have fiddler listening on default port 8888.
This configuration is not sensitive to passwork changes because fiddler will resolve any authentication with up stream proxy for you.
The solution for me was to include
<configuration>
<config>
<add key="http_proxy" value="http://<IP>:<Port>" />
<add key="http_proxy.user" value="<user>" />
<add key="http_proxy.password" value="<password>" />
</config>
</configuration>
In the nuget.config
file.
To anyone using VS2015: I was encountering a "407 Proxy Authentication required" error, which broke my build. After a few hours investigating, it turns out MSBuild wasn't sending credentials when trying to download Nuget as part of the 'DownloadNuGet' target. The solution was to add the following XML to C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe.config inside the <configuration>
element:
<system.net>
<defaultProxy useDefaultCredentials="true">
</defaultProxy>
</system.net>
Maybe this helps someone else. For me the solution was to open NuGet settings on Visual Studio (2015/2017) and add a new feed URL: http://www.nuget.org/api/v2/.
I didn't have to change any proxy related settings.
On Windows Server 2016 Standard, which is what I develop on, I just had to open the Credential Manager Control Panel and clear out the cached proxy settings for Visual Studio which were no longer valid and then restart Visual Studio. The next time I opened the Nuget Package Manager I was prompted for proxy credentials, which got me working again.
See: https://support.microsoft.com/en-us/help/4026814/windows-accessing-credential-manager
Hello for me going into
%appdata%/Roaming/Nuget/NuGet.Config and removing every line except for the package sources. Which should give something like this
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
</packageSources>
</configuration>
Full path should be C:\Users<username>\AppData\Roaming\NuGet\NuGet.Config
Basically there was a proxy set, i don't how and why it was set but it was there and i couldn't ping it either.
Just a small addition...
If it works for you to only supply the http_proxy setting and not username and password I'd recommend putting the proxy settings in a project local nuget.config file and commit it to source control. That way all team members get the same settings.
Create an empty .\nuget.config
<?xml version="1.0" encoding="utf-8"?>
<configuration>
</configuration>
Then:
nuget config -Set http_proxy="http://myproxy.example.com:8080" -ConfigFile .\Nuget.Config
And finally commit your new project local Nuget.config file.
It's correlated, but not the same cenario here, but I would like to document for those on Linux.
I'm on Fedora 35 using VsCode and dotnet sdk 6 installed
To use dotnet add package
behind proxy I have to use this format of command:
export http_proxy=http://[user]:[pass]@[server]:[port] && dotnet add package <package>
Try this. Basically, connection could fail if your system doesn't trust nuget certificate.
Apart from the suggestions from @arcain I had to add the following Windows Azure Content Delivery Network url to our proxy server's the white-list:
.msecnd.net
Above Solution by @arcain Plus below steps solved me the issue
Modifying the "package sources" under Nuget package manger settings to check the checkbox to use the nuget.org settings resolved my issue.
I did also changed to use that(nuget.org) as the first choice of package source
I did uncheck my company package sources to ensure the nuget was always picked
up from global sources.
As a late answer, for me nothing worked here. I guess this might depend on your company proxies or how the nuget
is implemented but for some reason I had the following environment variables set: http_proxy
and https_proxy
. After I removed them, nuget
started working correctly.
© 2022 - 2024 — McMap. All rights reserved.
http_proxy
andhttps_proxy
environment variables as well as your system proxy settings – Martinic