Как получить имя проекта при использовании пользовательских плагинов TFS - PullRequest
1 голос
/ 12 января 2012

Когда мы пишем код C # для пользовательского плагина TFS, мы фиксируем событие регистрации. Как мы можем получить имя проекта, в котором регистрируется пользователь?

Ответы [ 2 ]

2 голосов
/ 12 января 2012

Имя командного проекта всегда является первой частью пути.Например, если пользователь регистрирует файл для:

$/ExampleProject/Folder/File.txt

, тогда имя командного проекта равно ExampleProject.В TFS SDK есть вспомогательный метод, который позволит вам получить имя командного проекта с указанием пути управления исходным кодом:

string teamProjectName = 
    VersionControlPath.GetTeamProjectName("$/ExampleProject/Folder/File.txt");

Обратите внимание, что вы можете проверить несколько командных проектов одновременно.Например, ожидающие изменения могут содержать следующие изменения:

$/Project1/Folder/File.txt
$/Project2/Folder/File.txt

В этом случае пользователь проверяет как Project1, так и Project2.

1 голос
/ 13 января 2012

При захвате события Checkin с использованием плагина для TFS 2010, и вы зацикливаетесь на всех свойствах CheckinNotification (NotificationArvent as CheckinNotification), я получаю ..... набор изменений, Комментарий, Имя компьютера, NotificationInfo, Опции, CheckinNote, PolicyOverrideInfo, ChangesetOwnerName, WorkspaceOwnerName, WorkspaceName, CheckinType, SubmittedItems, HasAllItems

Представленные элементы являются коллекцией, просто переберите всю коллекцию ...

string myitem="";
CheckinNotification data = notificationEventArgs as CheckinNotification;
if (data != null)
{                  
Type type = data.GetType();
PropertyInfo[] myproperties = type.GetProperties();
if (property.Name == "SubmittedItems")
{
foreach (var checkin in data.SubmittedItems)
myitem = checkin.ToString(); 
}
}  
}

Это даст вам все файлы, которые были зарегистрированы. Это только частичный код, вам нужно найти пример из nielshebling.de под названием TFS 2010: Использование плагинов для регистрации события

...