2015-07-30 3 views
0

Так что в эти дни я пытаюсь работать с TFS API. До сих пор это было хорошо, но внезапно. Я хочу получить рабочие элементы конкретной истории и их соответствующую информацию, используя метод поиска по идентификатору, чтобы выбрать правильную историю. Чтобы не пропустить какую-то важную информацию, я делаю SELECT * в моих запросах. Я получаю рассказ, у меня есть Задачи .. Но, похоже, проблема с несколькими полями, а именно AreaPath, IterationPath и Type. В качестве примитивной проверки я записал некоторые консольные отпечатки, чтобы проверить, что хорошо, а что нет - поэтому, если я uncomment, любой из трех ранее названных при выполнении этого исключения вызывается: A first chance exception of type 'Microsoft.TeamFoundation.WorkItemTracking.Client.FieldDefinitionNotExistException' occurred in Microsoft.TeamFoundation.WorkItemTracking.Client.dll.Невозможно получить информацию из некоторых полей WorkItem в TFS

Вот что я пытаюсь напечатать:

Console.WriteLine(target.Fields["Title"].Value); 
    Console.WriteLine(target.Fields["Description"].Value);       
    Console.WriteLine(int.Parse(target.Fields["Id"].Value.ToString())); 
    Console.WriteLine(target.Fields["AreaPath"].Value); //Problem 1 
    Console.WriteLine(target.Fields["IterationPath"].Value); //Problem 2 
    Console.WriteLine(int.Parse(target.Fields["AreaId"].Value.ToString())); 
    Console.WriteLine(int.Parse(target.Fields["IterationId"].Value.ToString())); 
    Console.WriteLine(target.Fields["State"].Value); 
    Console.WriteLine(target.Fields["Type"].Value.ToString()); //Problem 3 

С или без ToString() на самом деле ничего не меняется. Любые предложения?

EDIT: они не являются нулевыми, я проверял в режиме отладки, все они назначили значения.

ответ

2

Используйте CoreField или встроенные добытчиками:

Console.WriteLine(target.Fields[CoreField.Title].Value); 
    Console.WriteLine(target.Fields[CoreField.AreaPath].Value); 
    Console.WriteLine(target.State); 
    Console.WriteLine(target.Type.Name); 
Смежные вопросы