NuGet Derrière Proxy

je me rends compte que NuGet permet la configuration des paramètres de proxy depuis la version 1.4. Mais je ne trouve aucun exemple en ligne de commande.

j'essaye de lancer une construction et NuGet ne peut pas se connecter.

Comment configurer les paramètres de proxy dans la ligne de commande?

78
demandé sur Ricardo 2012-02-10 21:34:34

12 réponses

voici ce que j'ai fait pour que cela fonctionne avec mon proxy d'entreprise qui utilise l'authentification NTLM. J'ai téléchargé NuGet.exe et a ensuite exécuté les commandes suivantes (que j'ai trouvées dans les commentaires à cette discussion sur 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

cela a mis ce qui suit dans mon NuGet.config situé à %appdata%\NuGet (qui correspond à C:\Users\myUserName\AppData\Roaming sur ma machine 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>

soit dit en passant, cela a aussi corrigé mon problème avec NuGet ne travaillant que la première fois que je clique sur le paquet source dans Visual Studio.

notez que certaines personnes qui ont essayé cette approche ont rapporté à travers les commentaires qu'ils ont été en mesure d'omettre le paramétrage de la touche http_proxy.password de la ligne de commande, ou de la supprimer après-coup du fichier de configuration, et étaient toujours en mesure d'avoir Fonction NuGet à travers le proxy.

si vous trouvez, cependant, que vous devez spécifier votre mot de passe dans le fichier de configuration NuGet, rappelez-vous que vous devez mettre à jour le mot de passe stocké dans la configuration NuGet à partir de la ligne de commande lorsque vous changez votre connexion réseau, si vos justificatifs d'identité proxy sont aussi vos justificatifs d'identité réseau .

153
répondu arcain 2018-09-12 12:58:20

peut-être pourriez-vous essayer ceci à votre 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>

Je l'ai trouvé dans le NuGet Issue tracker

il y a aussi d'autres commentaires intéressants sur les questions du réseau NuGet+.

19
répondu Tx3 2012-02-28 14:13:30

juste au cas où vous utilisez la version https de nuget ( https://www.nuget.org ), soyez conscient que vous devez définir les valeurs avec https.

  • https_proxy
  • https_proxy.utilisateur
  • https_proxy.mot de passe
8
répondu Roman Mahrer 2014-05-22 10:19:33

je pourrais me tromper mais j'ai pensé qu'il utilisait les paramètres proxy D'IE.

Si elle voit que vous avez besoin pour vous connecter, cela ouvre une boîte de dialogue et vous demande de le faire (connexion).

s'il vous Plaît voir la description de cet ici -> http://docs.nuget.org/docs/release-notes/nuget-1.5

6
répondu David McLean 2012-02-28 14:06:06

à toute personne utilisant VS2015: j'ai rencontré une erreur" 407 Proxy Authentication required", qui a cassé ma construction. Après quelques heures d'enquête, il s'avère que MSBuild n'envoyait pas de justificatifs d'identité en essayant de télécharger Nuget dans le cadre de la cible 'DownloadNuGet'. La solution était d'ajouter le XML suivant à C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.EXE.config à l'intérieur de l'élément <configuration> :

<system.net>
            <defaultProxy useDefaultCredentials="true">
            </defaultProxy>
</system.net>
4
répondu r590 2016-04-18 19:56:17

peut-être que ça aide quelqu'un d'autre. Pour moi, la solution était d'ouvrir les paramètres NuGet sur Visual Studio (2015/2017) et d'ajouter une nouvelle URL de flux: http://www.nuget.org/api/v2 / .

Je n'ai pas eu à changer les paramètres relatifs au proxy.

2
répondu Juliano Nunes Silva Oliveira 2017-03-17 18:35:15

une autre saveur pour le même" proxy pour nuget": vous pouvez également définir vos paramètres de proxing nuget pour vous connecter via fiddler . Ci-dessous cmd va enregistrer les paramètres de proxy dans le fichier de configuration nuget par défaut pour l'utilisateur à %APPDATA%\NuGet\NuGet.Config

nuget config-Set HTTP_PROXY= http://127.0.0.1:8888

chaque fois que vous avez besoin de nuget pour atteindre l'internet, il suffit d'ouvrir Fiddler, asumming vous avez écoute fiddler sur le port par défaut 8888.

cette configuration n'est pas sensible aux changements de mot de passe car fiddler résoudra toute authentification avec le proxy up stream pour vous.

1
répondu Aishel M 2015-07-30 14:00:05

juste un petit ajout...

si cela fonctionne pour que vous ne fournissiez que le paramètre http_proxy et non le nom d'utilisateur et le mot de passe, je vous recommande de placer les paramètres proxy dans un nuget local de projet.le fichier de configuration et le commiter. Comme ça tous les membres de l'équipe auront les mêmes réglages.

créer un vide .\ nuget.config

   <?xml version="1.0" encoding="utf-8"?>
   <configuration>
   </configuration>

puis:

   nuget config -Set http_proxy="http://myproxy.example.com:8080" -ConfigFile .\Nuget.Config

et finalement engager votre nouveau projet local Nuget.fichier de configuration.

1
répondu 8DH 2015-07-31 11:51:17

Essayer ce . Fondamentalement, la connexion pourrait échouer si votre système ne fait pas confiance au certificat nuget.

0
répondu Ivan Danilov 2017-05-23 12:26:10

outre les suggestions de @arcain, j'ai dû ajouter L'url suivante du réseau de diffusion de contenu Windows Azure à la liste blanche de notre serveur mandataire:

.msecnd.net
0
répondu mithun_daa 2015-07-07 21:38:19

ci-dessus Solution par @arcain Plus ci-dessous les étapes m'ont résolu le problème

  1. Modifier les" sources du paquet " sous Nuget package manger paramètres à vérifier la case à cocher pour utiliser le nuget.org les réglages ont résolu mon problème.

  2. j'ai également changé pour utiliser que(nuget.org) comme premier choix de paquet source

    J'ai fait uncheck mon entreprise package sources pour s'assurer que le nuget a été toujours repris de sources mondiales.

0
répondu Rama 2016-11-08 03:21:48

la solution pour moi était d'inclure

<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>

dans le fichier nuget.config .

0
répondu jfernandeze 2018-08-28 08:58:04