Обнаружение коллекции командных проектов в Team Foundation Server 2010

Я использую API Team Foundation Server, чтобы попытаться подключиться к удаленному серверу.

В своем приложении я пытаюсь подключиться к URL-адресу в форме https://some-tfs-location.example.com/tfs, но при этом я получаю сообщение об ошибке TF50309 (обсуждается здесь). Если я добавлю коллекцию проектов в конец URL-адреса (так что путь станет tfs/101), то я смогу подключиться без проблем.

Я хотел бы попытаться имитировать поведение Visual Studio, где я могу дать ему URL-адрес без необходимости указывать коллекцию проектов, и она подключится и найдет коллекцию проектов.

Есть ли у кого-нибудь предложения, какие API я могу использовать для имитации поведения Visual Studio? Я надеялся найти коллекцию проектов через

TfsTeamProjectCollection ttpc = new TfsTeamProjectCollection(projectRoot.ServerUrl,new MyCredentials());
var projectCollection = ttpc.CatalogNode.FullPath;

Но это приводит к тому же коду ошибки TF50309.


person Jeff Foster    schedule 14.11.2011    source источник


Ответы (1)


Вы можете использовать класс TfsConfigurationServer с сервером Uri, у которого нет коллекции командных проектов (например, http://localhost:8080/tfs), получите ITeamProjectCollectionService и используйте метод GetCollections или GetDefaultCollection. чтобы получить нужную коллекцию.

Это сообщение в блоге описало это более подробно.

person Duat Le    schedule 14.11.2011