TFS 工作项验证错误

Posted

技术标签:

【中文标题】TFS 工作项验证错误【英文标题】:TFS WorkItem Validation error 【发布时间】:2015-10-26 22:13:41 【问题描述】:

所以情况是这样的:我正在尝试创建一个任务工作项。我必须从dataGridView 获取数据,我想我设法做到了。但是当我尝试保存或验证 WorkItem 时,有趣的部分就来了。无论State 有什么值,验证器在执行wiTask.Validate(); 时总是带有InvalidListValue。我什至尝试对 State 的值进行硬编码,但没有任何反应。有一件事让我有点困扰 - 在 Validation 数组中,错误出现在 Status 属性中,其中实际控件只有 State 可用。这是一些代码和错误位的sn-p:

WorkItem wiTask = new WorkItem(workItemType)
                                
  Title = form1.dg_taskView.Rows[rows].Cells["titleDataGridViewTextBoxColumn"].Value.ToString() + " " + form1.tb_details.Text,
  Description = form1.dg_taskView.Rows[rows].Cells["descriptionDataGridViewTextBoxColumn"].Value.ToString(),
  AreaId = int.Parse(form1.dg_taskView.Rows[rows].Cells["areaIDDataGridViewTextBoxColumn"].Value.ToString()),
  AreaPath = form1.dg_taskView.Rows[rows].Cells["areaPathDataGridViewTextBoxColumn"].Value.ToString(),
  IterationId = int.Parse(form1.dg_taskView.Rows[rows].Cells["iterationIDDataGridViewTextBoxColumn"].Value.ToString()),
  IterationPath = form1.dg_taskView.Rows[rows].Cells["iterationPathDataGridViewTextBoxColumn"].Value.ToString(),
  State = form1.dg_taskView.Rows[rows].Cells["stateDataGridViewTextBoxColumn"].Value.ToString()

;
ArrayList result = wiTask.Validate();                              
wiTask.Save();
var hierarchicalLink = _workItemStore.WorkItemLinkTypes["System.LinkTypes.Hierarchy"];
                            userStory.WorkItemLinks.Add(new WorkItemLink(hierarchicalLink.ForwardEnd, wiTask.Id));
                            userStory.Save();

【问题讨论】:

默认情况下,所有任务都将在新建状态下创建,您不能指定其他任何内容。将其留空,TFS 会处理它,将状态设置为 New。您是否更改了该工作项定义的状态流? 我刚刚注释掉了State 行——结果是一样的。状态流是什么意思? 我的意思是任务项的状态和状态转换。默认值与“新建”无关,因此无法从另一个状态开始,然后您可以移至“进行中”等。“状态”是您添加的自定义字段吗?它是否从全局列表中提取值? Status 是默认字段,绝对不是我创建的(只是在整个项目中运行了字典搜索)。我对这个 WorkItem 所做的一切都是上面的代码 + 在可编辑的 DataGrid 视图中输入值。 调用 Validate 后“结果”ArrayList 中的内容是什么? 【参考方案1】:

事实证明,验证会将有问题的列返回给数组。经过进一步检查,通过指定Assigned to 名称解决了该问题,该名称是项目贡献者列表的一部分。

【讨论】:

以上是关于TFS 工作项验证错误的主要内容,如果未能解决你的问题,请参考以下文章

在 TFS 中,如何更正现有变更集上工作项的链接

TFS 工作项帮助文本显示在哪里?

导入工作项类型定义时,TFS 2017(本地)中的ProvisioningImportEventsCallback

如何查找未链接到工作项的TFS更改集

TFS Azure 2017 工作项更改事件处理程序 - 分支关系

如何更新 TFS 中没有数据的字段的工作项