Как подключиться к TeamFoundationServer (tfs) с помощью клиента api из консольного приложения?

Я пытаюсь подключиться к TeamFoundationServer, размещенному на visualstudio.com, используя его клиентский API с консольным приложением, но я получаю эту ошибку:

TF400813: Resource not available for anonymous access. Client

Мой код:

private static void Main(string[] args)
{
    Uri collectionUri = new Uri("https://MyName.visualstudio.com/DefaultCollection");

    TfsTeamProjectCollection collection =
        new TfsTeamProjectCollection(
            collectionUri,
            new System.Net.NetworkCredential(@"[email protected]", "MyPassword"));

    WorkItemStore workItemStore = collection.GetService<WorkItemStore>(); 
}

Ответ 1

Вы должны вызвать метод EnsureAuthenticated() из TfsTeamProjectCollection:

private static void Main(string[] args)
{
    Uri collectionUri = new Uri("https://MyName.visualstudio.com/DefaultCollection");

    NetworkCredential credential = new NetworkCredential("USERNAME", "PASSWORD");
    TfsTeamProjectCollection teamProjectCollection = new TfsTeamProjectCollection(collectionUri, credential);
    teamProjectCollection.EnsureAuthenticated();

    WorkItemStore workItemStore = teamProjectCollection.GetService<WorkItemStore>();

    WorkItemCollection workItemCollection = workItemStore.Query("QUERY HERE");

    foreach (var item in workItemCollection)
    {
        //Do something here.
    }
}

Я надеюсь, что он решил вашу проблему.

Ответ 2

Настройте альтернативные учетные данные для своей учетной записи. Вы можете использовать альтернативные учетные данные для клиентов командной строки и как параметр NetworkCredential.