无法从TFS

时间:2015-07-30 14:45:05

标签: c# visual-studio-2012 tfs tfs-workitem

所以这些天我正在尝试使用TFS API。到目前为止一切都很好,但突然间......我想使用ID方法搜索特定故事的工作项及其各自的信息,以选择正确的故事。为了不错过我在查询中SELECT *所做的一些重要信息。我得到了故事,我得到了任务......但是很少有字段似乎存在问题 - 即AreaPathIterationPathType。作为一个原始的检查,我写下了一些控制台打印,以检查什么是好的,什么不是 - 所以,如果我uncomment执行之前命名的三个中的任何一个,则抛出此异常:A first chance exception of type 'Microsoft.TeamFoundation.WorkItemTracking.Client.FieldDefinitionNotExistException' occurred in Microsoft.TeamFoundation.WorkItemTracking.Client.dll

以下是我要打印的内容:

  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(),都没有真正改变。 有什么建议吗?

编辑:它们不是空的,我在调试模式下检查过,它们都已经分配了值。

1 个答案:

答案 0 :(得分:2)

使用CoreField或内置的getter:

    Console.WriteLine(target.Fields[CoreField.Title].Value);
    Console.WriteLine(target.Fields[CoreField.AreaPath].Value);
    Console.WriteLine(target.State);
    Console.WriteLine(target.Type.Name);