【问题标题】:Access to TFS proprietary fields gives error code TF51005 for WIQL query访问 TFS 专有字段会为 WIQL 查询提供错误代码 TF51005
【发布时间】:2015-07-29 14:57:21
【问题描述】:

我们正在使用 TFS2010。

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

我认为这个问题并非针对 Doors,而是针对一般的专有领域。

我们遇到了以下问题:

我们使用 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 等检查了字段属性定义。

您能说出这个问题是否有解决方法吗?

【问题讨论】:

    标签: tfs wiql


    【解决方案1】:

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

    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);
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-12
      • 1970-01-01
      • 2019-11-02
      • 1970-01-01
      • 2017-06-12
      • 2015-05-02
      • 2019-01-08
      • 1970-01-01
      相关资源
      最近更新 更多