如何通过代码获取TFS工作项验证错误消息?

4

我已经知道 WorkItem.Validate 方法可以获取此工作项中无效的ArrayList字段(msdn)。

但是它们似乎只包含无效的字段和名称,而不包含任何错误信息,即为仅使用内置TFS控件提交工作项的情况下提供了有用的信息。
如何获得类似于“新建Bug 1:TF200012:字段'Title'不能为空”的错误提示?

为了更好地理解,请参见图片。msdn
我正在使用VS2010 SP1中文版,错误描述如上所译。

2个回答

15

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

0
field.Status.ToString()

对我很有用,这将捕获错误消息。


我没有长时间使用TFS API,所以无法验证。 ^_^ - Lei Yang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接