Как мне получить список подключенных проектов TFS в Visual Studio?

#c# #.net #visual-studio #tfs-sdk #visual-studio-sdk

#c# #.net #visual-studio #tfs-sdk #visual-studio-sdk

Вопрос:

Используя Visual Studio 2010 и TFS 2010 SDK, я хочу получить список проектов в текущей коллекции, выбранной пользователем.

Как мне это сделать?

Я могу получить uri коллекции с помощью этого кода, но не проектов:

 TeamFoundationServerExt tfsExt =
               (TeamFoundationServerExt)Dte.GetObject("Microsoft.VisualStudio.TeamFoundation.TeamFoundationServerExt");

if (tfsExt == null) return;

var activeTfsUri = tfsExt.ActiveProjectContext.DomainUri;
  

Ответ №1:

Попробуйте это:

     TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(tpcURI);
    ICommonStructureService css = tpc.GetService<ICommonStructureService>();
    ProjectInfo[] projects = css.ListProjects();
  

В нем должны быть указаны имя, uri и статус проектов.

Комментарии:

1. Похоже, что это даст мне все проекты, я прав? Мне нужен список проектов в Visual Studio, к которым в данный момент подключен пользователь (поскольку вы можете выбрать отображение только меньшего количества проектов, к которым у вас есть доступ).

2. Он возвращает все проекты, на просмотр которых у вас есть разрешение. Но вы правы, это не тот способ, которым вы получаете список проектов, к которым в данный момент подключены в Team Explorer. Вам нужно было бы взглянуть на Visual Studio SDK (не TFS SDK), чтобы понять это.