我知道这是一个经常被问到的问题,但经过几天的研究后,我还没有找到这个问题的答案。
我有一个新的ASP.NET 5(Core 1.0)MVC模板,我试图在每次进入Package Manager输出时添加一个包:
Response status code does not indicate success: 407 (Proxy Authentication Required).
以及解决方案资源管理器顶部的以下内容:
我的设置看起来很好,我可以在“管理解决方案包”中浏览包裹。屏幕。
我理解我被要求提供凭据,以便我在哪里输入凭据?另一方面,我机器上的所有其他应用程序都验证了互联网访问,那我为什么要这样做呢?
非常欢迎任何想法/指示。
Visual Studio 2015 - 14.0.24720.00更新1
Visual Studio 2015的NuGet包管理器 - 3.3.0.167
Package Manager输出的顶部:
安装NuGet包AutoMapper.4.2.1。
已成功安装' AutoMapper 4.2.1'致CustomerPortal
==========完成==========
PATH =。\ node_modules.bin;%PATH%; C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ Extensions \ Microsoft \ Web Tools \ External; C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ Extensions \ Microsoft \ Web Tools \ External \ git
C:\ Users \ medmondson.dnx \ runtimes \ dnx-clr-win-x86.1.0.0-rc1-update1 \ bin \ dnx.exe" C:\ Users \ medmondson.dnx \ runtimes \ dnx-clr -WIN-x86.1.0.0-RC1-UPDATE1 \ BIN \ lib中\ Microsoft.Dnx.Tooling \ Microsoft.Dnx.Tooling.dll"恢复" M:\ visual studio 2015 \ Projects \ CustomerPortal \ src \ CustomerPortal" -f" C:\ Program Files(x86)\ Microsoft Web Tools \ DNU"
Microsoft .NET开发实用程序Clr-x86-1.0.0-rc1-16231
获得https://www.nuget.org/api/v2/
获得http://packages.nuget.org/v1/FeedService.svc/
获得https://www.postsharp.net/nuget/packages/
恢复M:\ visual studio 2015 \ Projects \ CustomerPortal \ src \ CustomerPortal \ project.json的包
获取https://www.nuget.org/api/v2/FindPackagesById()?id=' AutoMapper'
获取http://packages.nuget.org/v1/FeedService.svc/FindPackagesById()?id=' AutoMapper'
获取https://www.postsharp.net/nuget/packages/FindPackagesById()?id=' AutoMapper'
警告:FindPackagesById:AutoMapper
发送请求时发生错误
获取https://www.nuget.org/api/v2/FindPackagesById()?id=' AutoMapper'
获取https://www.nuget.org/api/v2/FindPackagesById()?id=' System.Collections.Immutable'
获取http://packages.nuget.org/v1/FeedService.svc/FindPackagesById()?id=' System.Collections.Immutable'
获取https://www.postsharp.net/nuget/packages/FindPackagesById()?id=' System.Collections.Immutable'
警告:FindPackagesById:AutoMapper
发送请求时发生错误
获取https://www.postsharp.net/nuget/packages/FindPackagesById()?id=' AutoMapper'
警告:FindPackagesById:AutoMapper
响应状态代码不表示成功:407(需要代理验证)。
我设法捕获了一个非工作请求(返回407)和一个工作请求,其中唯一的区别是代理授权标头的内容更长。这表明代理身份验证确实存在,但它使用的是不同的协议。
答案 0 :(得分:8)
几个星期前我遇到了同样的问题。对我来说,它有助于在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>
答案 1 :(得分:7)
我必须修改 32位 machine.config(假设VS以32位运行)添加<system.net>
部分,但省略<defaultProxy>
标记内的任何内容:
<system.net>
<defaultProxy useDefaultCredentials="True" enabled="True" />
</system.net>
根据MSDN:
如果defaultProxy元素为空,则将使用Internet Explorer中的代理设置。
这对我来说非常完美,因为我机器上的其他所有应用程序都可以运行 - 包括IE。
manchine.config位置(Win 7):%SYSTEMROOT%\ Microsoft.NET \ Framework \ v4.0.30319 \ Config \ machine.config
我解决了这个问题,感谢@ user3063127指向我正确的方向(你有一个upvote)。据我所知,这只会影响DNX项目的包恢复,并且可能在RC2发布后修复。
答案 2 :(得分:3)
已更新至最新的nuget.exe 1st
nuget update self
在配置文件中添加了代理详细信息:
nuget config -Set http_proxy=http://username:password@proxyserver.company.com:port
答案 3 :(得分:1)
如果您安装了Fiddler,请选中&#39;自动验证&#39;根据规则选项,应解决上述问题。
Selecting the Automatically Authenticate
从以下帖子得到这个
Configuring Fiddler to use company network's proxy?
答案 4 :(得分:0)
如果您不知道代理服务器详细信息,可以使用其他解决方法来克服此错误“407(需要代理授权。)”
解决方法强>: 1.下载/安装Fiddler 2.单击菜单规则 - &gt;自动验证
在没有关闭Fiddler的情况下,现在尝试在Visual Studio中执行还原包。它现在应该在没有任何代理错误的情况下恢复包。
这不是一个简洁的解决方案,但仍然是解决此问题的替代解决方法。此解决方案尝试将Fiddler用作代理。
答案 5 :(得分:0)
您需要修改文件2 .config文件:
对于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
对于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>
如果没有代理,您仍然可以从DNS服务器获取其IP,而没有其他阻止它,则nuget.org
的旁路将起作用。
还需要安装nuget
打开文件C:\Users\[YOUR_USER_NAME]\AppData\Roaming\NuGet\NuGet.Config
,然后在<configuration> <\configuration>
标签内添加以下内容:
<config>
<add key="http_proxy" value="http://yourproxy:proxyport" />
</config>
答案 6 :(得分:0)
也许您在凭据管理器中使用了错误的代理凭据。尝试将其删除。
控制面板->用户帐户->凭据管理器。
删除代理凭据解决了我的问题。
答案 7 :(得分:0)
添加代理用户名和密码解决了我的407身份验证问题。
将以下代码段放在位于C:\ Users \ myUserName \ AppData \ Roaming的NuGet.config文件中
ResultNL
参考:https://forums.asp.net/t/2096179.aspx?Proxy+407+Access+Denied