web-dev-qa-db-fra.com

Gestionnaire de packages dans Visual Studio 2015 "407 (authentification proxy requise)"

Je comprends que c’est une question souvent posée. Cependant, après des jours de recherche, je n’ai pas trouvé de réponse à ce problème particulier.


J'ai un nouveau modèle MVC ASP.NET 5 (Core 1.0) auquel j'essaie d'ajouter un package, mais chaque fois que je reçois dans la sortie du gestionnaire de packages:

Response status code does not indicate success: 407 (Proxy Authentication Required). 

et les éléments suivants en haut de la solution Explorer:

 enter image description here

mes paramètres sont corrects et je suis en mesure de parcourir les packages dans l'écran "Gérer les packages pour la solution".

Je comprends que l’on me demande de fournir des informations d’identité. Où les saisir? Par contre, toutes les autres applications de ma machine ont un accès Internet validé. Pourquoi devrais-je le faire?

Toutes les idées/pointeurs sont les bienvenus.

Visual Studio 2015 - 14.0.24720.00 Mise à jour 1 
Gestionnaire de paquets NuGet pour Visual Studio 2015 - 3.3.0.167


Partie supérieure de la sortie du gestionnaire de packages:

Installation du package NuGet AutoMapper.4.2.1.
'AutoMapper 4.2.1' installé avec succès sur CustomerPortal
=========== Terminé ==========
PATH =.\Node_modules.bin;% PATH%; C:\Fichiers de programme (x86)\Microsoft Visual Studio 14.0\Commun7\IDE\Extensions\Outils de Microsoft\Web\Externes; C:\Fichiers de programme ( x86)\Microsoft Visual Studio 14.0\Common7\IDE\Extensions\Microsoft\Outils Web\Externe\git
C:\Utilisateurs\medmondson.dnx\runtimes\dnx-clr-win-x86.1.0.0-rc1-update1\bin\dnx.exe "C:\Utilisateurs\medmondson.dnx\runtimes\dnx -clr-win-x86.1.0.0-rc1-update1\bin\lib\Microsoft.Dnx.Tooling\Microsoft.Dnx.Tooling.dll "restaurer" M:\visual studio 2015\Projets\CustomerPortal\src\CustomerPortal " -f "C:\Fichiers de programme (x86)\Outils Web Microsoft\DNU"
Utilitaire de développement Microsoft .NET Clr-x86-1.0.0-rc1-16231
GET https://www.nuget.org/api/v2/
GET http://packages.nuget.org/v1/FeedService.svc/
GET https://www.postsharp.net/nuget/packages/
Restauration des packages pour M:\visual studio 2015\Projets\ClientPortal\src\ClientPortal\projet.json
GET https://www.nuget.org/api/v2/FindPackagesById()?id= 'AutoMapper'
GET http://packages.nuget.org/v1/FeedService.svc/FindPackagesById()?id= 'AutoMapper'
GET https://www.postsharp.net/nuget/packages/FindPackagesById()?id= 'AutoMapper'
Avertissement: FindPackagesById: AutoMapper
Une erreur s'est produite lors de l'envoi de la demande.
GET https://www.nuget.org/api/v2/FindPackagesById()?id= 'AutoMapper'
GET https://www.nuget.org/api/v2/FindPackagesById()?id= 'System.Collections.Immutable'
GET http://packages.nuget.org/v1/FeedService.svc/FindPackagesById()?id= 'System.Collections.Immutable'
GET https://www.postsharp.net/nuget/packages/FindPackagesById()?id= 'System.Collections.Immutable'
Avertissement: FindPackagesById: AutoMapper
Une erreur s'est produite lors de l'envoi de la demande.
GET https://www.postsharp.net/nuget/packages/FindPackagesById()?id= 'AutoMapper'
Avertissement: FindPackagesById: AutoMapper
Le code d'état de la réponse n'indique pas le succès: 407 (authentification proxy requise).

Mettre à jour

J'ai réussi à capturer une demande qui ne fonctionnait pas (en renvoyant 407) et une demande de travail avec seule différence étant le contenu de l'en-tête Proxy-Authorization qui est plus longue. Cela suggérerait que l'authentification proxy existe mais qu'elle utilise un protocole différent.

7
m.edmondson

J'ai dû modifier le 32 bits machine.config (l'hypothèse étant que VS fonctionne en 32 bits) pour ajouter la section <system.net> mais en omettant quoi que ce soit dans la balise <defaultProxy>:

<system.net>
    <defaultProxy useDefaultCredentials="True" enabled="True" />
</system.net>

Selon MSDN :

Si l'élément defaultProxy est vide, les paramètres de proxy d'Internet Explorer seront utilisés.

C'est parfait pour moi, car toutes les autres applications de ma machine fonctionnent, y compris IE.

emplacement manchine.config (Windows 7):% SYSTEMROOT%\Microsoft.NET\Framework\v4.0.30319\Config\machine.config


Remarque

J'ai résolu ce problème grâce à @ user3063127 qui m'a orienté dans la bonne direction (vous avez un vote positif.) Autant que je sache, cela n'affecte que la restauration de paquet sur les projets DNX et pourrait bien être corrigé lorsque RC2 sera disponible.

7
m.edmondson

J'ai eu le même problème il y a quelques semaines. Pour moi, cela a aidé à mettre le suivant dans le machine.config (Windows/Microsoft.NET/Framework64/v4.0.30319/Config)

<system.net>
   <settings>
       <ipv6 enabled="True"/>
   </settings>
   <defaultProxy useDefaultCredentials="True" enabled="True">
       <proxy proxyaddress="http://your.proxyserver.ip:port"/>
   </defaultProxy>
</system.net>
8
user3063127
  1. Mis à jour à la dernière nuget.exe

    nuget update self
    
  2. Détails du proxy ajoutés au fichier de configuration:

    nuget config -Set http_proxy=http://username:[email protected]:port
    
3
Glyn

Si vous avez installé Fiddler, cochez l'option 'Authentifier automatiquement' sous l'option Règles, devrait résoudre le problème ci-dessus. 

Sélection de l'authentification automatique

Ceci est tiré de l'article suivant Configuration de Fiddler pour utiliser le proxy du réseau de l'entreprise?

1
Chethan Shetty

Vous devez modifier les fichiers .config du fichier 2:

pour Visual Studio 2015

  • C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\vsn.exe.config
  • C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe.config

pour Visual Studio 2017

  • C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\vsn.exe.config
  • C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\devenv.exe.config
<system.net>
  <defaultProxy enabled="true" useDefaultCredentials="true">
    <proxy usesystemdefault="True" bypassonlocal="True" proxyaddress="http://yourproxy:proxyport" />
    <bypasslist>
      <add address="(.*\.)?anyotherdomain\.com?(.*)" />
      <add address="(.*\.)?nuget\.org?(.*)" />
      <add address="192\.168\.\d{1,3}\.\d{1,3}" />
    </bypasslist>
  </defaultProxy>
  <settings>
    <ipv6 enabled="false"/>
    <servicePointManager expect100Continue="false"/>
  </settings>
</system.net>

Le contournement de nuget.org fonctionnera si, sans le proxy, vous pouvez toujours obtenir son adresse IP du serveur DNS et que rien d'autre ne le bloque.

Aussi besoin de ceci pour installer nuget

Ouvrez le fichier C:\Users\[YOUR_USER_NAME]\AppData\Roaming\NuGet\NuGet.Config et ajoutez à l'intérieur de la <configuration> <\configuration> la balise suivante:

<config>
  <add key="http_proxy" value="http://yourproxy:proxyport" />
</config>

Tiré de Blog de Marco Mengoli

0
Rui Caramalho

Si vous ne connaissez pas les détails du serveur proxy, vous pouvez utiliser une autre solution de contournement pour surmonter cette erreur "407 (autorisation du proxy requise)."

Solution de contournement : 1. Télécharger/Installer Fiddler 2. Cliquez sur Règles du menu -> Authentifier automatiquement

Sans fermer Fiddler, essayez maintenant de restaurer le package dans Visual Studio. Il devrait maintenant restaurer les paquets sans aucune erreur de proxy.

Ce n'est pas une solution soignée, mais reste une solution de contournement alternative pour résoudre ce problème. Cette solution tente d'utiliser Fiddler en tant que proxy.

0
Venkatesh Muniyandi