安装Visual Studio本地帮助(联机丛书)失败,并显示407 Proxy Authentication错误。
这里的问题是,如果您是一个非常友好的企业防火墙或代理的后面,您可能很难在Visual Studio 2013中安装本地帮助。
当我启动帮助查看器v2.1时,我最初会看到可能安装的帮助主题列表。相反,我会收到错误发生的通知。深入研究,我发现我们的公司代理已经回复了要求进行NTLM身份验证的407 Proxy Authentication Required响应。显然,帮助查看器不够智能,无法智能地响应这种普通的HTTP响应。
问题是:如何解决这个问题,因为让网络众神建立一个更透明的代理似乎......不太可能。
答案 0 :(得分:0)
问题Visual Studio Error: (407: Proxy Authentication Required)(相关但不是同一个问题)帮助我找到了解决方案,就像这次谈话一样:
显然,在为VS 2013安装帮助时涉及3个不同的过程:
HlpViewer.exe
)HlpCtntMgr.exe
)以上主题将引导您使用帮助查看器的配置文件进行编辑,但这不足以解决问题。您需要执行以下操作:
导航到帮助查看器的安装目录(默认位置为C:\Program Files (x86)\Microsoft Help Viewer\v2.1
)。
创建或编辑文件HlpViewer.exe.config
,使其具有如下所示的<system.net>
元素:
<?xml version="1.0"?>
<configuration>
<system.net>
<settings>
<ipv6 enabled="true"/>
</settings>
<defaultProxy enabled="true" useDefaultCredentials="true">
<proxy
bypassonlocal="True"
proxyaddress="http://your-proxy-server:80/"
/>
</defaultProxy>
</system.net>
</configuration>
根据您的代理配置的变幻莫测,您可能需要或不需要<proxy>
元素。
对HlpCtntMgr.exe.config
执行相同操作。
BITS(后台智能传输服务)有一个配置值UseLmCompat
,告诉它何时发送NTLM身份验证凭据。来自the documentation,
注册表值是DWORD。下表列出了可能的值 UseLMCompat:
Value Description ----- ----------- 0 BITS will send implicit credentials whenever the server prompts for NTLM or Kerberos credentials. 1 BITS will send implicit credentials only if the client computer's LMCompatibilityLevel registry value is greater than or equal to 2. Prior to BITS 1.5: Not supported 2 BITS will send implicit credentials only if the application called the SetCredentials method. Prior to BITS 2.0: Not supported
默认配置似乎是2
。您可能需要修改它
HKLM/SOFTWARE/Microsoft/Windows/CurrentVersion/BITS/UseLmCompat
您希望该值为0
,因此它会根据请求提供凭据。
注意:由于微软以其无限的智慧为我们提供了祝福,而不是一个,而是两个注册表(32位和64位),我需要使用位于
的regedit.exe
的相应实例进行两次上述更改
C:\Windows\regedit.exe
C:\Windows\SysWOW64\regedit.exe
完成后,您需要退回BITS。您可以通过重新启动计算机或通过服务控制面板(services.msc
)来执行此操作,该控制面板位于名称Background Intelligent Transfer Service
下。
此时,你应该好好去。