访问TFS专有字段为WIQL查询提供了错误代码TF51005

时间:2015-05-18 07:38:51

标签: tfs tfs2010 wiql

我们正在使用TFS2010。

我们有一个由IBM开发的解决方案 - 可以同步DOORS和TFS之间的数据。此解决方案创建了专有工作项(DoorsProxy),其中包含一些专有字段DoorsTool.DoorsArtifactType.Module

我认为这个问题不是针对门而是针对专有领域的。

我们遇到了以下问题:

我们使用TFS SDK和WIQL语言访问DoorsProxy工作项。可以访问标准字段,但不能访问Doors专有字段。我们使用了例如以下查询

Select ID, Title, [Work Item Type], [DoorsTool.DoorsArtifactType.Module] 
from WorkItems where ([Work Item Type] = 'DoorsProxy' ) order by Title;

但我们收到错误

  

TF51005:查询引用了不存在的字段。该错误是由«[DoorsTool.DoorsArtifactType.Module]»。

引起的

我们尝试过其他语法,其他字段以及删除缓存,但是没有成功。我们使用ProcessEditor等检查了字段属性定义。

您能说出此问题是否有解决方法?

1 个答案:

答案 0 :(得分:0)

我做了一个解决方法。我改变了

Select ID, Title, [Work Item Type], [DoorsTool.DoorsArtifactType.Module] 
  from WorkItems where ([Work Item Type] = 'DoorsProxy' ) order by Title;

Select * from WorkItems where ([Work Item Type] = 'DoorsProxy' ) order by Title

我将C#代码更改为:

string wiqlQueryDoorsProxy =
   "Select * from WorkItems where ([Work Item Type] = 'DoorsProxy' ) order by Title";

WorkItemCollection witCollectionDoorsProxy = wiStore.Query(wiqlQueryDoorsProxy);

foreach (WorkItem workItemDoorsProxy in witCollectionDoorsProxy)
{
   Console.WriteLine("ID: {0}", workItemDoorsProxy.Id);
   Console.WriteLine("Module: {0}", workItemDoorsProxy.Fields["Module"].OriginalValue);

}