簡體   English   中英

如何通過C#代碼將Visual Studio連接到Team Foundation Server Team Project

[英]How to connect Visual Studio to Team Foundation Server Team Project from C# code

是否可以通過代碼將Visual Studio連接到TFS Team Project? 我找到了文章如何連接到TFS: http : //msdn.microsoft.com/zh-cn/library/vstudio/bb286958.aspx,但是,這使我可以從代碼對TFS執行基本操作,但不能連接Visual Studio。 樣品

據我了解您的問題,您不能...您有3種選擇:

1-為VS Team Explore進行擴展,此擴展取決於您已使用VS連接。

在Visual Studio 2012中擴展Team Explorer

2-制作一個單獨的exe,以便您使用TeamProjectPicker,以便選擇要連接到的TFS和哪個Team Project。

    using System.Windows.Forms;
    using Microsoft.TeamFoundation.Client;
    using Microsoft.TeamFoundation.Server;
    namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                Application.EnableVisualStyles(); // Makes it look nicer from a console app.
                //"using" pattern is recommended as the picker needs to be disposed of
                using (TeamProjectPicker tpp = new TeamProjectPicker(TeamProjectPickerMode.MultiProject, false))
                {
                    DialogResult result = tpp.ShowDialog();
                    if (result == DialogResult.OK)
                    {
                        System.Console.WriteLine("Selected Team Project Collection Uri: " + tpp.SelectedTeamProjectCollection.Uri);
                        System.Console.WriteLine("Selected Projects:");
                        foreach (ProjectInfo projectInfo in tpp.SelectedProjects)
                        {
                            System.Console.WriteLine(projectInfo.Name);
                        }
                    }
                }
            }
        }
    }

3-將API用於TFS和硬代碼路徑,或將其放在如下所示的配置文件中:

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

在這里您可以找到將Visual Studio連接到TFS的分步指南

http://tfs.visualstudio.com/zh-CN/learn/code/connect-vs/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM