Soy nuevo en Team Foundation Server y estoy tratando de conectarse a un proyecto de programación utilizando c#. Tengo el siguiente bloque de código …

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);

Cuando ejecuto el código me aparece el siguiente error …

TF14061: The workspace Test;vercuskis does not exist.

La «Prueba» del proyecto está fuera de la raíz y es visibile de VS 2008 Team Explorer, tengo la seguridad de acceso a ella y yo lo uso para entrada y salida de código bien

No estoy seguro de si tengo el «Test» del proyecto hace referencia correctamente dentro de mi código. Estoy buscando un ejemplo de cómo hacer referencia a un nombre de proyecto de la TFS de la raíz.

Gracias,

3 Comentarios

  1. 6

    El problema es que la «Prueba» en el código anterior se refiere a la TFS área de trabajo, no el proyecto en TFS. TFS utiliza una idea de las áreas de trabajo que usted mapa de directorios y proyectos.

    El área que se está utilizando se muestra en el explorador de control de origen windwo hacia la parte superior. Dice: «área de trabajo» y, a continuación, el nombre del área de trabajo que usted está usando.

    Aquí es un buen recurso con respecto a las áreas de trabajo: http://www.woodwardweb.com/teamprise/000333.html

    Entonces tendrá que conseguir probablemente algunas asignaciones de carpeta de TFS así. El TFS documentaiton es escasa, y gran parte de los trabajos que he hecho con él requiere un poco de ensayo y error para entender cómo TFS funciona, y cómo la API es diferente de la fuente de usar el explorador de control en visual studio.

    • Ah ok ya veo … bueno, entonces supongo que no es el espacio de trabajo que estoy buscando. Me gustaría conectar con el proyecto y ver todos los artículos dentro de la fuente de control para ese proyecto. Supongo que voy a tener que consultar el TeamFoundationServer objeto con el fin de entrar en eso.
  2. 0

    Como Brian dijo, usted está confundido acerca de lo que un área de trabajo. Su enlace es una buena: http://www.woodwardweb.com/teamprise/000333.html

    Si usted sólo quiere consultar el historial de información sobre el sistema de control de versiones y no checkin/checkout los archivos, usted no necesita un área de trabajo en todo. Sólo uso el VersionControlServer objeto.

    • QueryItems = «tf dir»
    • QueryItemsExtended = «tf» propiedades de
    • QueryPendingChanges = «tf» estado
    • QueryHistory = «tf de la historia», y cuidado, la enumeración de las causas de servidor adicional viajes de ida y vuelta a través de rendimiento
    • etc etc
  3. 0

    Tuve el mismo problema, creo que fue debido a que el área de trabajo a partir VS fue asignado a varios proyectos. Así que he creado una nueva área de trabajo con sólo uno de ellos asignado proyecto.

    Mi trabajado solución:
    Abrir el CMD de VS
    Ejecutar el bramido de la Línea: tf workspace /new /s:http://tfs2010.server.com:8080/tfs

    Como este:

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

    Se le pedirá a la instalación de la nueva área de trabajo:
    Nombre: el nombre de espacio de trabajo que te gusta (no hay espacio ni especial char)
    Fuente carpeta de control: $/FolderName
    Carpeta Local: C:\FolderName

    Utilizar el inputed Nombre de espacio de trabajo en el que estás código

        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);

Dejar respuesta

Please enter your comment!
Please enter your name here