2012-05-25 2 views
0

В настоящее время я реализовал интерфейс beubscriber, чтобы иметь возможность обнаруживать, когда рабочий элемент был изменен. Я замечаю, что при передаче события в событие workitemchanged, на которое ссылаются: corefields и измененные поля. Тем не менее, я не могу получить поле «сборка интеграции» из workitem, поскольку оно основано, когда workitem является типом ошибки. Как я могу получить это значение поля, чем ссылаться на файл Microsoft.TeamFoundation.WorkItemTracking.Client.dll и использовать функцию GetService.Как я могу программным образом получить значение поля интеграции «интеграция»

веселит

Cyberchick

ответ

0

Получить объект WorkItem вашей работы (от его ID), то используйте свойство WorkItem.Item (см doc here) с эталонным именем поля.

+0

Hi Nock, спасибо за ваш ответ, но я надеялся не ссылаться на пространство имен Microsoft.TeamFoundation.WorkItemTracking.Client, как показано в документе. Я бы предпочел получить его с серверной стороны, используя Microsoft.TeamFoundation.Framework.Server; с использованием Microsoft.TeamFoundation.WorkItemTracking.Server; Поскольку я использую функцию ISubscriber.ProcessEvent(). Я заметил, что когда я это делаю: WorkItemChangedEvent Ev = notificationEventArgs как WorkItemChangedEvent; Я получаю основные поля i.e workItemId = Ev.CoreFields.IntegerFields [0] .NewValue; но не «интегрированная сборка». –

+0

Хорошо, я правильно понял эту часть вашего сообщения: «Как я могу получить это значение поля, чем ссылаться». Почему вы не хотите использовать эту сборку? Я сделал это для проекта на стороне сервера, который был вызван системой оповещения TFS, и все было в порядке. – Nock

+0

Привет, нок, из-за проблем с лицензированием вокруг tfs. Однако, как мы поняли, этого не обойти. Мы решили не добавлять эту функциональность. Спасибо за ваше время в ответе –