C# TFS在尝试进行身份验证时抛出TeamFoundationServerInvalidResponseException
我正在通过编程方式从TFS签出一些文件,在每次调用签出之前,我都会检查我是否经过身份验证。某些文件已正确签出,但在一个文件上,Authenticate()方法失败,出现以下异常:C# TFS在尝试进行身份验证时抛出TeamFoundationServerInvalidResponseException,c#,.net,tfs,C#,.net,Tfs,我正在通过编程方式从TFS签出一些文件,在每次调用签出之前,我都会检查我是否经过身份验证。某些文件已正确签出,但在一个文件上,Authenticate()方法失败,出现以下异常: Microsoft.TeamFoundation.TeamFoundationServerInvalidResponseException: Wenden Sie sich an den Administrator. Fehler bei der Anforderung an den Server. Technisch
Microsoft.TeamFoundation.TeamFoundationServerInvalidResponseException: Wenden Sie sich an den Administrator. Fehler bei der Anforderung an den Server.
Technische Informationen (für Administrator):
HTTP-Code 200: OK
bei Microsoft.TeamFoundation.Client.Channels.TfsHttpWebRequest.ReadMessage(HttpWebResponse webResponse, WebException webException, Stream responseStream, Boolean& closeResponse)
bei Microsoft.TeamFoundation.Client.Channels.TfsHttpWebRequest.ReadResponse(HttpWebResponse webResponse, WebException webException)
bei Microsoft.TeamFoundation.Client.Channels.TfsHttpWebRequest.IsAuthenticationChallenge(TfsMessage requestMessage, HttpWebResponse webResponse, WebException webException, TfsMessage& responseMessage)
bei Microsoft.TeamFoundation.Client.Channels.TfsHttpWebRequest.SendRequest()
bei Microsoft.TeamFoundation.Client.Channels.TfsHttpRequestChannel.Request(TfsMessage message, TimeSpan timeout)
bei Microsoft.TeamFoundation.Client.Channels.TfsHttpClientBase.Invoke(TfsClientOperation operation, Object[] parameters, TimeSpan timeout, Object[]& outputs)
bei Microsoft.TeamFoundation.Framework.Client.LocationWebService.Connect(Int32 connectOptions, Int32 lastChangeId, Int32 features)
bei Microsoft.TeamFoundation.Framework.Client.FrameworkServerDataProvider.Connect(ConnectOptions connectOptions)
bei Microsoft.TeamFoundation.Client.TfsConnection.EnsureProviderConnected()
有人知道我为什么在这里得到这个InvalidResponse
吗?
我正在通过NuGet使用最新的TFS客户端程序集。
身份验证基本上是这样完成的:
m_tfsServer = new TfsTeamProjectCollection(new Uri(serverUri), new TfsClientCredentials());
if(!m_tfsServer.HasAuthenticated)
m_tfsServer.Authenticate();
通常我是这样做的:
string STRuri=@"http://myserver/teamservercollection"
TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(new Uri(STRuri));
VersionControlServer vcs = tpc.GetService<VersionControlServer>();
Workspace workspace = vcs.GetWorkspace(System.Environment.MachineName, vcs.AuthenticatedUser);
string STRuri=@”http://myserver/teamservercollection"
TfsTeamProjectCollection tpc=新的TfsTeamProjectCollection(新Uri(STRuri));
VersionControlServer vcs=tpc.GetService();
Workspace Workspace=vcs.GetWorkspace(System.Environment.MachineName,vcs.AuthenticatedUser);
您如何传递serveruri?serveruri实际上是像“”一样传递的。只有在检查该文件之前的身份验证时,才会发生此异常吗?该文件是否与其他文件属于同一团队项目集合?是的,在签出该文件之前,我一直在尝试通过上面的检查进行身份验证。所有文件都属于同一团队项目。