2009-06-01 6 views
1

Je suis en train d'envoyer des informations d'identification TFS au serveur pour la connexion au serveur TFS en utilisant ci-dessous le codeImpossible d'envoyer des informations d'identification TFS

TeamFoundationServer tfs = TeamFoundationServerFactory.GetServer(). 

Cette méthode attend deux parameters.one d'entrée est de type string (TFS url sous forme de chaîne) et un autre est de type ICredentialsProvider. Je suis incapable de créer l'instance de cette classe et incapable d'envoyer des informations d'identification TFS à la méthode Getserver.Veuillez m'aider si un corps a une idée à ce sujet.

Merci Suneetha.

Répondre

5

Quel genre d'erreurs deviennent lorsque vous créez un ICredentialsProvider?

Vous devriez être capable d'instancier un objet UICredentialsProvider qui implémente ICredentialsProvider.

Sinon, vous pouvez construire une instance TeamFoundationServer et de transmettre les informations d'identification par le constructeur.

Ces liens peuvent vous aider:

+0

Salut J'utilise cette méthode pour obtenir serevr de contrôle de version. NetworkCredential creds = nouveau NetworkCredential (AppSettings.Username, AppSettings.Password, AppSettings.Domain); ICredentials ICP = Crédits (ICredentials); TeamFoundationServer tfs = nouveau TeamFoundationServer (AppSettings.TfsUrl, ICP); tfs.EnsureAuthenticated(); Renvoyer tfs.GetService (typeof (VersionControlServer)) en tant que VersionControlServer; Je suis capable de me connecter maintenant, mais il renvoie nullcontrolserver en tant que null. Merci suneetha –

+0

Salut Suneetha. Je ne vois aucun problème dans le code. Peut-être que l'URL est incorrecte? Incluez-vous le numéro de port pour TFS (8080 par défaut pour les connexions HTTP)? Exemple: "http://tfs.dev.company.com:8080". Vous pouvez modifier la dernière ligne à "return (VersionControlServer) tfs.GetService (typeof (VersionControlServer))" qui lancera une exception si la distribution échoue. Cela pourrait aider à découvrir toutes les erreurs de casting. Sinon, l'utilisateur n'a peut-être pas accès au système de contrôle de version dans TFS? – dariom

+0

Un petit point: La ligne "ICredentials ICP = (ICredentials) creds;" est inutile: vous pouvez simplement passer la variable "creds" au constructeur TeamFoundationServer au lieu de "ICP" puisque NetworkCredential implémente ICredentials. – dariom

0

NetworkCredential NetworkCredential;

 if (Username != null && Password != null) 
     { 
      if (Domain != null) 
        networkCredential = new NetworkCredential(Username, Password, Domain); 
      else 
        networkCredential = new NetworkCredential(Username, Password); 
     } 
     else 
     { 
       networkCredential = CredentialCache.DefaultNetworkCredentials; 
     } 


     TeamFoundationServer TFS = new TeamFoundationServer(stringTFSURL, networkCredentials); 
Questions connexes