18 votes

Accès à la source officielle des paquets Nuget derrière un proxy d'entreprise

J'essaie d'utiliser Nuget dans VS2010 au travail. Lorsque j'essaie de télécharger des paquets depuis le flux officiel, j'échoue toujours avec un message 403.

J'ai lu que Nuget utilisait les mêmes paramètres de proxy qu'IE, ce qui est regrettable pour moi car mon IE est verrouillé. Je ne peux pas changer le proxy.

J'ai modifié les urls du service d'alimentation qui sont renvoyées, dans IE j'obtiens une erreur, dans Firefox (avec un proxy.pac local défini) les urls se résolvent bien et je peux voir les alimentations.

Existe-t-il un moyen de configurer manuellement Nuget pour qu'il n'utilise pas les paramètres d'IE ?

25voto

Xcalibur Points 1312

Si vous n'arrivez pas à faire ajouter l'exception à votre proxy, ou si vous voulez simplement une solution immédiate, modifiez votre fichier de configuration de Visual Studio (devenv.exe.config) situé dans le répertoire d'installation de Visual Studio (ex. C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE ) et modifiez/ajoutez le <system.net> à la section suivante, ce qui permettra à Visual Studio de travailler avec le proxy :

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

Tout ce que vous devez faire est de changer le <Insert proxy address here > à l'adresse proxy de votre entreprise. De plus, en fonction des paramètres de votre proxy, vous pourrez peut-être utiliser Attendre100Continuer et il se peut qu'il ne soit pas nécessaire de modifier cet élément de configuration. Vous pouvez trouver plus d'informations ici

2voto

Mike Simmons Points 1278

J'ai réussi à obtenir du service informatique qu'il autorise un accès illimité à packages.nuget.org, ce qui a réglé le problème. Nous utilisons sophos ici et toute requête web dont il n'aime pas l'apparence est bloquée. Cela s'applique aux urls nuget. Une solution de contournement consistait à utiliser le Library Package Manager pour lancer une installation avec fiddler en cours d'exécution. Ensuite, je copiais l'url qui était interdite dans mon navigateur et je disais à sophos que c'était bon. Je pouvais alors installer un paquet avec succès

J'espère que cela aidera toute personne coincée derrière un pare-feu militant.

2voto

Silencer Points 727

Si vous ne connaissez pas les paramètres du proxy et que NuGet vous demande un utilisateur et un mot de passe de proxy, vous pouvez essayer d'ajouter à devenv.exe.config dans votre répertoire d'installation de Visual Studio, entre le fichier <system.net> tags :

<defaultProxy useDefaultCredentials="true" enabled="true">
  <proxy usesystemdefault="True"/>
</defaultProxy>

cela devrait ressembler à ceci, en fonction de votre VisualStudio :

  <system.net>
    <defaultProxy useDefaultCredentials="true" enabled="true">
      <proxy usesystemdefault="True"/>
    </defaultProxy>
    <settings>
      <ipv6 enabled="true" />
    </settings>
  </system.net>

Cela a fonctionné pour moi sans même donner l'adresse du proxy :) Vraiment, cela devrait être le comportement par défaut, j'ai perdu tant de jours à essayer de surmonter cela...

0voto

James Points 121

J'ai eu un problème pour accéder au site Nuget via la console Nuget. "Reçu un EOF inattendu ou 0 octets du flux de transport." Il s'agissait finalement d'un problème de proxy, la différence étant que le proxy de mon travail est "invisible" et ne dispose pas d'options de configuration. J'ai résolu mon problème en suivant les étapes suivantes.

  1. Ouvrez Visual Studio en tant qu'administrateur
  2. Ouvrez le navigateur interne de Visual Studio ( View | Other Windows | Web Browser )
  3. Allez sur le site web de votre banque - ou sur un autre site qui utilise SSL
    Il faut peut-être se connecter au site, je ne l'ai pas fait.
  4. Exécutez ensuite la commande Install-package dans la console Nuget.
  5. La commande fonctionne sans erreur.

Cela peut aider à résoudre les problèmes suivants :

J'espère que cela vous aidera.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X