本文可協助您解決當您嘗試設定測試代理程式與控制器服務通訊時所發生的錯誤。
原始產品版本:
Visual Studio Test Professional 2012 Visual Studio Test Professional 2010
原始 KB 編號:
2823477
請試想下列案例:
測試控制器會在已加入網域的電腦上執行,且電腦的 DNS 尾碼為
contoso.com
。 測試代理程式會在工作組電腦上執行,而工作組機器的 DNS 尾碼為
fabrikaam.com
。
這兩部機器可以使用完整功能變數名稱彼此偵測。
控制器和代理程式服務的必要端口有防火牆例外狀況。
在上述案例中,測試代理程式組態工具在嘗試設定代理程式與控制器服務通訊時失敗。 如
如何啟用測試代理程式記錄
中所述的測試代理程式組態記錄會顯示下列錯誤:
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
如果發生下列情況,就會發生此問題:
我們會在測試代理程式組態工具的測試控制器 URI 中,為測試控制器機器提供完整功能變數名稱。
測試代理程式和測試控制器機器無法只使用電腦主機名稱彼此通訊,因此像是 foo 而不是 foo.contoso.com
。 良好的測試是只從測試控制器電腦偵測測試代理程式電腦主機名稱,反之亦然。
若要解決此問題,我們必須將控制器電腦的網域 DNS 尾碼附加至測試代理程式電腦上 NIC 的 TCP\IP 設定,反之亦然。
測試代理程式機器) 上的步驟 (:
在代理程式電腦上開啟 NIC\Lan 卡片屬性。
選取 [網際網路通訊協定第 4 版 (TCP/IP v4) 並選取 屬性。
在 [ 網際網路通訊協定第 4 版 (TCP/IP v4) ] 對話方塊的 [ 一般 ] 索引標籤上,按一下 [ 進階]。
在 [ 進階 TCP/IP 設定 ] 對話方塊中,選取 [將 這些 DNS 尾碼附加 (的選項,) 。
按一下 [新增 ],然後在 [ TCP/IP 網域尾碼 ] 對話方塊中,提供測試控制器網域的 DNS 尾碼,然後按一下 [ 新增]。
按一下 [進階 TCP/IP 設定] 對話方塊中的 [確定]。
按一下 [網際網路通訊協定第 4 版 (TCP/IP v4) ] 對話方塊中的 [確定]。
在測試控制器電腦上重複相同的步驟。
如果您有問題或需要相關協助,請建立支援要求,或詢問 Azure community 支援。 您也可以將產品意見反應提交給 Azure 社群支援。