如何通过代码获取 TFS 工作项验证错误消息?
Posted
技术标签:
【中文标题】如何通过代码获取 TFS 工作项验证错误消息?【英文标题】:How to get the TFS workitem validation error message by code? 【发布时间】:2014-04-30 17:39:08 【问题描述】:我已经知道WorkItem.Validate
方法可以获取此工作项中无效字段的ArrayList
(msdn)。
但它们似乎只包含无效字段和名称,但不包含任何错误消息,即为什么它们无效,这对于在不使用内置 TFS 控件的情况下提交工作项的情况很有用。 如何获得类似“新错误1:TF200012:字段'标题'不能为空。”的错误提示?
为了更好的理解,请看图。 我用的是VS2010 SP1中文,错误描述翻译如上。
【问题讨论】:
【参考方案1】:Visual Studio 只是另一个包装 TFS 错误消息的客户端。您无法捕获 TF* 错误,但您可以获取 FieldStatus
并打印您自己的消息。
var invalidFields = workItem.Validate();
if (invalidFields.Count > 0)
foreach (Field field in invalidFields)
string errorMessage = string.Empty;
if (field.Status == FieldStatus.InvalidEmpty)
errorMessage = string.Format("0 1 2: TF20012: field \"3\" cannot be empty."
, field.WorkItem.State
, field.WorkItem.Type.Name
, field.WorkItem.TemporaryId
, field.Name);
//... more handling here
Console.WriteLine(errorMessage);
else // Validation passed
workItem.Save();
【讨论】:
【参考方案2】:field.Status.ToString()
为我工作,这将捕获错误消息。
【讨论】:
我很久没有使用 TFS api,所以无法验证。 ^_^以上是关于如何通过代码获取 TFS 工作项验证错误消息?的主要内容,如果未能解决你的问题,请参考以下文章
如何通过C#代码找到WIQL TFS Workitem中字段的所有值?