Обнаружение коллекции командных проектов в Team Foundation Server 2010 - PullRequest
3 голосов
/ 14 ноября 2011

Я использую 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.

1 Ответ

5 голосов
/ 14 ноября 2011

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

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

...