Question

Je suis nouveau à Team Foundation Server et je suis en train de se connecter à un projet en utilisant c # programme. Je le bloc de code suivant ...

string serverName = "http://tfs01:8080";
TeamFoundationServer tfs = new TeamFoundationServer(serverName);
VersionControlServer version = (VersionControlServer)tfs.GetService(typeof (VersionControlServer));
Workspace workspace = version.GetWorkspace("Test", version.AuthenticatedUser);
MessageBox.Show(workspace.Name);

Quand j'exécute le code que je reçois l'erreur suivante ...

TF14061: The workspace Test;vercuskis does not exist.

Le projet « Test » est hors de la racine et est visibile de VS 2008 Team Explorer, j'ai accès à la sécurité et je l'utiliser pour vérifier et sortir le code très bien

Je ne sais pas si je le projet « Test » référencé correctement dans mon code. Je cherche un exemple de comment référencer un nom de projet hors de la racine TFS.

Merci,

Était-ce utile?

La solution

Le problème est que « Test » dans votre code fait référence ci-dessus à l'espace de travail TFS, pas le projet dans TFS. TFS utilise une idée appelée espaces de travail que vous associez des répertoires et des projets.

L'espace de travail que vous utilisez est affiché dans l'explorateur de contrôle de source windwo vers le haut. Il dit: « Espace de travail: »., Puis le nom de l'espace de travail que vous utilisez

Voici une bonne ressource en ce qui concerne les espaces de travail: http://www.woodwardweb.com/teamprise/ 000333.html

Vous aurez alors besoin d'obtenir probablement quelques applications de dossiers de TFS ainsi. Le TFS documentaiton est rare, et une grande partie du travail que je l'ai fait avec elle nécessite quelques essais et erreurs pour comprendre comment fonctionne TFS, et comment l'API est différent d'utiliser l'explorateur de contrôle de code source en studio visuel.

Autres conseils

Comme Brian a dit, vous êtes confus au sujet de ce qu'est un espace de travail est. Son lien est un bon: http://www.woodwardweb.com/teamprise/000333.html

Si vous voulez juste des informations d'historique interroger sur le système de contrôle de version et non checkin / Caisse des fichiers, vous ne pas besoin d'un espace de travail du tout. Il suffit d'utiliser l'objet VersionControlServer.

  • QueryItems = "tf dir"
  • QueryItemsExtended = "Propriétés" tf
  • QueryPendingChanges = "état tf"
  • QueryHistory = "histoire tf" - méfiez-vous, l'énumération provoque allers-retours de serveurs supplémentaires via yield return
  • etc etc

J'ai eu le même problème, je crois que ce fut parce que le WorkSpace de VS a été mis en correspondance avec plusieurs projets. J'ai donc créé un nouveau WorkSpace avec un seul projet cartographié.

Ma solution travaillé: Ouvrez le CMD de VS Exécutez le soufflet ligne: tf workspace /new /s:http://tfs2010.server.com:8080/tfs

Comme ceci:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC>tf workspace /new /s:http://tfs2010.server.com:8080/tfs

Vous êtes invité à installer la nouvelle WorkSpace: Nom: le nom de l'espace de travail que vous aimez (pas d'espace ou de caractère spécial) dossier de contrôle Source: $/FolderName Dossier local: C:\FolderName

Utilisez le nom de WorkSpace inputed en vous écrivez du code

    this._server = config.GetAttribute("server");
    **this._workspace = config.GetAttribute("workspace");**
    this._user = config.GetAttribute("user");
    this._password = config.GetAttribute("psw");
    TeamFoundationServer tfs = new TeamFoundationServer(this._server, new System.Net.NetworkCredential(this._user, this._password));
    tfs.Authenticate();
    VersionControlServer versionControl = (VersionControlServer)tfs.GetService(typeof(VersionControlServer));
    Workspace ws = versionControl.GetWorkspace(this._workspace, this._user);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top