尝试配置测试代理时测试代理配置失败

本文可帮助你解决尝试将测试代理配置为与控制器服务通信时发生的错误。

原始产品版本:Visual Studio Test Professional 2012、Visual Studio Test Professional 2010
原始 KB 编号: 2823477

症状

请考虑以下情况:

  • 测试控制器在已加入域的计算机上运行,该计算机的 DNS 后缀为 contoso.com。 测试代理在工作组计算机上运行,工作组计算机的 DNS 后缀为 fabrikaam.com

  • 这两台计算机可以使用完全限定的域名相互 ping。

  • 控制器和代理服务所需的端口存在防火墙例外。

在上述方案中,尝试将代理配置为与控制器服务通信时,测试代理配置工具失败。 如何启用测试代理日志中所述 的测试代理配置日志 显示以下错误:

I, 2013/02/08, 11:18:22.791, CreateControllerObject: attempt 0, System.Net.Sockets.SocketException (0x80004005): No such host is known

Server stack trace:
at System.Net.Dns.GetAddrInfo(String name)
at System.Net.Dns.InternalGetHostByName(String hostName, Boolean includeIPv6)
at System.Net.Dns.GetHostAddresses(String hostNameOrAddress)
at System.Runtime.Remoting.Channels.RemoteConnection.CreateNewSocket()
at System.Runtime.Remoting.Channels.RemoteConnection.GetSocket()
at System.Runtime.Remoting.Channels.SocketCache.GetSocket(String machinePortAndSid, Boolean openNew)
at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.SendRequestWithRetry(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream)
at System.Runtime.Remoting.Channels.Tcp.TcpClientTransportSink.ProcessMessage(IMessage msg, ITransportHeaders requestHeaders, Stream requestStream, ITransportHeaders& responseHeaders, Stream& responseStream)
at System.Runtime.Remoting.Channels.BinaryClientFormatterSink.SyncProcessMessage(IMessage msg)

Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at Microsoft.VisualStudio.TestTools.Controller.ControllerObject.Hello()
at Microsoft.VisualStudio.TestTools.ConfigCore.TestControllerHelper.CreateControllerObject(String controllerUri)
I, 2013/02/08, 11:18:22.918, CreateControllerObject: attempt 1, System.Net.Sockets.SocketException (0x80004005): No such host is known

原因

在以下情况下,可能会出现此问题:

  1. 我们将在测试代理配置工具上的测试控制器 URI 中为测试控制器计算机提供完全限定的域名。

  2. 测试代理和测试控制器计算机不能仅使用计算机主机名相互通信,因此类似于 foo 而不是 foo.contoso.com。 一个很好的测试是仅从测试控制器计算机 ping 测试代理计算机主机名,反之亦然。

解决方案

若要解决此问题,我们需要将控制器计算机的域的 DNS 后缀追加到测试代理计算机上的 NIC 的 TCP\IP 设置中,反之亦然。

测试代理计算机上的步骤 () :

  1. 打开代理计算机上的 NIC\Lan 卡属性。

  2. 选择“ internet 协议版本 4 (TCP/IP v4) ”,然后选择 属性

  3. “Internet 协议版本 4 (TCP/IP v4) ”对话框中的“ 常规 ”选项卡上,单击“ 高级”。

  4. 在“ 高级 TCP/IP 设置” 对话框中,选择选项“ 追加这些 DNS 后缀 (,以便)

  5. 单击“ 添加 ”,然后在“ TCP/IP 域后缀 ”对话框中,提供测试控制器域的 DNS 后缀,然后单击“ 添加”。

  6. 在“高级 TCP/IP 设置”对话框中单击“确定”。

  7. 在“Internet 协议版本 4 (TCP/IP v4) ”对话框中单击“确定”。

在测试控制器计算机上重复相同的步骤。

联系我们寻求帮助

如果你有任何疑问或需要帮助,请创建支持请求联系 Azure 社区支持。 还可以向 Azure 反馈社区提交产品反馈。