0

重複の可能性:
tfsapiを使用してtfsに接続しているときに認証に失敗しました

奇妙な問題に直面しています。tfsapiプログラムを使用してtfsサーバーに接続したいと思います。適切な認証資格を与えた後でも失敗しますが、ブラウザにtfs server nameと入力して手動で行うと、接続されます。

コード:

TeamFoundationServer tfs = 
      new TeamFoundationServer(new Uri("http://xx.xx.xx.xx:8080/tfs"), 
                        new NetworkCredential(@"user", "pass", "domain"));
tfs.EnsureAuthenticated()

提案してください。

4

2 に答える 2

0

あなたはそれをより簡単な方法で行うことができます(あなたが認証を通過したと仮定して):

var tfsCollection = new TfsTeamProjectCollection(new Uri("http://yourtfs:8080/tfs/"));
tfsCollection.Authenticate();
var workItemStore = new WorkItemStore(TfsCollection);
于 2012-12-13T13:41:31.247 に答える
0

この代替手段を使用することもできます:

using Microsoft.TeamFoundation.Client;
using Microsoft.TeamFoundation.Framework.Client;
using Microsoft.TeamFoundation.Framework.Common;
using System;
using System.Collections.ObjectModel;

class Program
{
    static void Main()
    {
        var tfsUri = new Uri("http://xx.xx.xx.xx:8080/tfs");

        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);
            }
        }
    }
}
于 2012-12-13T13:34:08.803 に答える