无法从 TFS 中的某些工作项字段中检索信息
Unable to retrieve information from some of the WorkItem Fields in TFS
所以最近我在尝试使用 TFS API。到目前为止还不错,但突然之间……我想使用按 ID 搜索的方法来检索特定故事的工作项目及其各自的信息,以选择正确的故事。为了不错过一些重要信息,我在查询中做了 SELECT *
。我明白了故事,我明白了任务。但似乎只有少数字段存在问题 - 即 AreaPath
、IterationPath
和 Type
。作为原始检查,我写下了一些控制台打印来检查什么是好的,什么不是 - 所以如果我 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()
什么都没有真正改变。
有什么建议吗?
编辑:它们不为空,我在调试模式下检查过,它们都已分配值。
使用 CoreField
或内置吸气剂:
Console.WriteLine(target.Fields[CoreField.Title].Value);
Console.WriteLine(target.Fields[CoreField.AreaPath].Value);
Console.WriteLine(target.State);
Console.WriteLine(target.Type.Name);
所以最近我在尝试使用 TFS API。到目前为止还不错,但突然之间……我想使用按 ID 搜索的方法来检索特定故事的工作项目及其各自的信息,以选择正确的故事。为了不错过一些重要信息,我在查询中做了 SELECT *
。我明白了故事,我明白了任务。但似乎只有少数字段存在问题 - 即 AreaPath
、IterationPath
和 Type
。作为原始检查,我写下了一些控制台打印来检查什么是好的,什么不是 - 所以如果我 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()
什么都没有真正改变。
有什么建议吗?
编辑:它们不为空,我在调试模式下检查过,它们都已分配值。
使用 CoreField
或内置吸气剂:
Console.WriteLine(target.Fields[CoreField.Title].Value);
Console.WriteLine(target.Fields[CoreField.AreaPath].Value);
Console.WriteLine(target.State);
Console.WriteLine(target.Type.Name);