#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), чтобы понять это.