Sdílet prostřednictvím


Připojit k Team Foundation Server z aplikace konzoly

Pomocí programu můžete připojit k serveru se systémem Team Foundation a přístup k týmové projekty na serveru používáte následující příklad.V příkladu změníte, můžete použít služby, Getting Additional Team Foundation Services popsány dále v tomto tématu.Také může jednat jménem jiné pomocí zosobnění, jako Acting on Behalf of Another User (Impersonation) popsány dále v tomto tématu.

V tomto tématu

Příklad

Můžete vytvořit seznam kolekcí týmu projektu a týmové projekty, které obsahují, pokud můžete použít následující příklad.

Chcete-li použít tento příklad

  1. Vytvoří aplikaci konzole C#.

  2. Přidejte odkazy do následujících sestavení:

    [!POZNÁMKA]

    Pokud Microsoft.TeamFoundation.Client a Microsoft.TeamFoundation.Common na rozhraní kartě odkazy dialogové okno, použití Procházet kartu přidat sestavení.Naleznete je na %ProgramFiles%\Microsoft 10.0\Common7\IDE\ReferenceAssemblies\v2.0 Visual Studio.

  3. Nahradíte obsah Program.cs kód, který je dále v tomto tématu.

  4. V tomto kódu nahradit Server, Port, a VDir adresy URL používá k TfsConfigurationServer objektu tak, aby adresy URL odkazuje na server.

    Tip

    Ujistěte se, že používáte správnou adresu URL, použijte Průzkumník týmových projektů , otevřete projekt týmu na serveru a ověřte vlastnosti adresy URL serveru.

    Team Foundation Server vlastnosti: URL

    using System;
    using System.Collections.ObjectModel;
    using Microsoft.TeamFoundation.Client; 
    using Microsoft.TeamFoundation.Framework.Common;
    using Microsoft.TeamFoundation.Framework.Client;
    
    namespace TfsApplication
    {
        class Program
        {
            static void Main(String[] args)
            {
                // Connect to Team Foundation Server
                //     Server is the name of the server that is running the application tier for Team Foundation.
                //     Port is the port that Team Foundation uses. The default port is 8080.
                //     VDir is the virtual path to the Team Foundation application. The default path is tfs.
                Uri tfsUri = (args.Length < 1) ? 
                    new Uri("http://Server:Port/VDir") : new Uri(args[0]);
    
                TfsConfigurationServer configurationServer =
                    TfsConfigurationServerFactory.GetConfigurationServer(tfsUri);
    
                // Get the catalog of team project collections
                ReadOnlyCollection<CatalogNode> collectionNodes = configurationServer.CatalogNode.QueryChildren(
                    new[] { CatalogResourceTypes.ProjectCollection },
                    false, CatalogQueryOptions.None);
    
                // List the team project collections
                foreach (CatalogNode collectionNode in collectionNodes)
                {
                    // Use the InstanceId property to get the team project collection
                    Guid collectionId = new Guid(collectionNode.Resource.Properties["InstanceId"]);
                    TfsTeamProjectCollection teamProjectCollection = configurationServer.GetTeamProjectCollection(collectionId);
    
                    // Print the name of the team project collection
                    Console.WriteLine("Collection: " + teamProjectCollection.Name);
    
                    // Get a catalog of team projects for the collection
                    ReadOnlyCollection<CatalogNode> projectNodes = collectionNode.QueryChildren(
                        new[] { CatalogResourceTypes.TeamProject },
                        false, CatalogQueryOptions.None);
    
                    // List the team projects in the collection
                    foreach (CatalogNode projectNode in projectNodes)
                    {
                        Console.WriteLine(" Team Project: " + projectNode.Resource.DisplayName);
                    }
                }
            }
        }
    }
    
    Imports System
    Imports System.Collections.ObjectModel
    Imports Microsoft.TeamFoundation.Client
    Imports Microsoft.TeamFoundation.Framework.Common
    Imports Microsoft.TeamFoundation.Framework.Client
    
    Module Module1
    
        Sub Main(ByVal sArgs() As String)
    
            ' Connect to the Team Foundation Server
            ' Server is the name of the server running the application tier for Team Foundation Server
            ' Port is the port that the Team Foundation Server uses. The default port is 8080.
            ' VDir is the virtual path to the Team Foundation application. The default value is tfs.
            Dim tfsUri As Uri
            If sArgs.Length = 0 Then
                tfsUri = New Uri("https://Server:8080/tfs")
            Else
                tfsUri = New Uri(sArgs(1))
            End If
    
            Dim configurationServer As New TfsConfigurationServer(tfsUri)
            configurationServer = TfsConfigurationServerFactory.GetConfigurationServer(tfsUri)
    
            ' Get the catalog of team project collections
            Dim collectionNodes As ReadOnlyCollection(Of CatalogNode)
            Dim gVar As Guid() = New Guid() {CatalogResourceTypes.ProjectCollection}
            collectionNodes = configurationServer.CatalogNode.QueryChildren(gVar, False, CatalogQueryOptions.None)
    
            ' List the team project collections
            For Each collectionNode In collectionNodes
                Dim collectionId As Guid = New Guid(collectionNode.Resource.Properties("InstanceID"))
    
                Dim teamProjectCollection As New TfsTeamProjectCollection(tfsUri)
                teamProjectCollection = configurationServer.GetTeamProjectCollection(collectionId)
                System.Console.WriteLine("Collection:" + teamProjectCollection.Name)
    
                ' Get a catalog of team projects for the collection
                Dim hVar As Guid() = New Guid() {CatalogResourceTypes.TeamProject}
    
                Dim projectNodes As ReadOnlyCollection(Of CatalogNode)
                projectNodes = collectionNode.QueryChildren(hVar, False, CatalogQueryOptions.None)
    
                ' List the team projects in the collection
                For Each projectNode In projectNodes
                    System.Console.WriteLine(" Team Project: " + projectNode.Resource.DisplayName)
                Next
    
            Next
    
    
        End Sub
    
    End Module
    
    

Získání další služby Team Foundation

Další služby lze přistupovat pomocí metody GetService, abstraktní třída TfsConnection definuje a TfsConfigurationServer a TfsTeamProjectCollection provedení.

Při použití TfsConfigurationServer třídy, přístup ke službám pro celý server.Při použití TfsTeamProjectCollection třídy, přístup ke službám pro kolekci týmu projektu.Například ITeamFoundationRegistry služby pro TfsConfigurationServer poskytuje registrované vlastností serveru.Stejné služby, který je získán z TfsTeamProjectCollection poskytuje registrované vlastnosti kolekce týmu projektu.Některé služby použít pouze týmu projekt kolekcí.

Služba

TfsConfigurationServer

(na úrovni serveru)

TfsTeamProjectCollection

(na úrovni kolekce)

ITeamFoundationRegistry

zaškrtávací značka

zaškrtávací značka

IIdentityManagementService

zaškrtávací značka

zaškrtávací značka

ITeamFoundationJobService

zaškrtávací značka

zaškrtávací značka

IPropertyService

zaškrtávací značka

zaškrtávací značka

IEventService

zaškrtávací značka

zaškrtávací značka

ISecurityService

zaškrtávací značka

zaškrtávací značka

ILocationService

zaškrtávací značka

zaškrtávací značka

TswaClientHyperlinkService

zaškrtávací značka

zaškrtávací značka

ITeamProjectCollectionService

zaškrtávací značka

IAdministrationService

zaškrtávací značka

zaškrtávací značka

ICatalogService

zaškrtávací značka

VersionControlServer

zaškrtávací značka

WorkItemStore

zaškrtávací značka

IBuildServer

zaškrtávací značka

ITestManagementService

zaškrtávací značka

ILinking

zaškrtávací značka

ICommonStructureService3

zaškrtávací značka

IServerStatusService

zaškrtávací značka

IProcessTemplates

zaškrtávací značka

Jménem jiného uživatele (zosobnění)

Při připojení k Team Foundation Server, můžete použít metodu, která podporuje zosobnění jednat jménem identity než spustí aplikace.Všechny operace jsou prováděny na základě, připojení se provádějí jménem identity zosobněného.Například by aplikace s identitou uživatele a spustit, ale vytvořit připojení k Team Foundation Server , zosobní uživatele B.Pokud uživatel a kontroly ve změně zdrojového kódu za těchto podmínek, zaznamená changeset který uživatel b změnu změnami.

Bb286958.collapse_all(cs-cz,VS.110).gifPomocí Identity Team Foundation

Můžete použít IdentityDescriptor objektu při připojení k Team Foundation Server k určení totožnosti zosobnit.IdentityDescriptor Určuje identity, Team Foundation definuje.Při použití této strategie, není nutné zadat heslo.Ověřená identita musí mít požadavky za jiného uživatele oprávnění s výjimkou ověřené (uživatel A) a identity zosobněného (uživatel B) při stejné.

Úroveň serveru

  • TfsConfigurationServer.TfsConfigurationServer(RegisteredConfigurationServer, IdentityDescriptor)

  • TfsConfigurationServer.TfsConfigurationServer(Uri, IdentityDescriptor)

Úrovni kolekce webů

  • TfsTeamProjectCollection.TfsTeamProjectCollection(RegisteredProjectCollection, IdentityDescriptor)

  • TfsTeamProjectCollection.TfsTeamProjectCollection(Uri, IdentityDescriptor)

Bb286958.collapse_all(cs-cz,VS.110).gifPomocí ověření pověření

Můžete použít ICredentials objektu při připojení k Team Foundation Server k určení totožnosti zosobnit.Tato strategie nevyžaduje zvláštní oprávnění, ale musí být schopny získat heslo vytvořit identitu ICredentials objektu.

Můžete také určit implementace ICredentialsProvider při připojení k Team Foundation Server požadavků nová pověření.Systém vyžaduje provádění ICredentialsProvider při zadání nového požadavku pověření pověření, které jsou určeny ICredentials objekt úspěšně ověřen nebo oprávnění k provedení operace.

Výzva k zadání pověření, můžete použít UICredentialsProvider třídy, která implementuje ICredentialsProvider zobrazením přihlašovací dialogové nová pověření uživatele.

Úroveň serveru

Úrovni kolekce webů

Bb286958.collapse_all(cs-cz,VS.110).gifPomocí kombinace technik

Můžete použít i Team Foundation identitu a ověřené pověření při připojení k Team Foundation Server.Například aplikace může být oprávnění pro uživatele A, ale mohou použít pověření pro uživatele b a zadejte IdentityDescriptor pro uživatele c při připojení k Team Foundation Server.V tomto případě jsou požadavky, které jsou provedeny pomocí tohoto připojení ověřen jako uživatel b ale prováděny jménem uživatele C.Tato strategie úspěšné, musí mít uživatel b požadavky za jiného uživatele oprávnění.

Úroveň serveru

  • TfsConfigurationServer.TfsConfigurationServer(RegisteredConfigurationServer, ICredentials, ICredentialsProvider, IdentityDescriptor)

  • TfsConfigurationServer.TfsConfigurationServer(Uri, ICredentials, ICredentialsProvider, IdentityDescriptor)

Úrovni kolekce webů

  • TfsTeamProjectCollection.TfsTeamProjectCollection(RegisteredProjectCollection, ICredentials, ICredentialsProvider, IdentityDescriptor)

  • TfsTeamProjectCollection.TfsTeamProjectCollection(Uri, ICredentials, ICredentialsProvider, IdentityDescriptor)

Další zdroje informací

Uspořádání serveru s kolekcí týmu projektu

Připojit k týmové projekty v Team Foundation Server

Představujeme TfsConnection, TfsConfigurationServer a TfsTeamProjectCollection třídy na webu společnosti Microsoft

TFS zosobnění pomocí rozhraní API verze ovládacího prvku na webu společnosti Microsoft.