我已经知道 WorkItem.Validate
方法可以获取此工作项中无效的ArrayList
字段(msdn)。
但是它们似乎只包含无效的字段和名称,而不包含任何错误信息,即为仅使用内置TFS控件提交工作项的情况下提供了有用的信息。
如何获得类似于“新建Bug 1:TF200012:字段'Title'不能为空”的错误提示?
为了更好地理解,请参见图片。
我正在使用VS2010 SP1中文版,错误描述如上所译。
我已经知道 WorkItem.Validate
方法可以获取此工作项中无效的ArrayList
字段(msdn)。
但是它们似乎只包含无效的字段和名称,而不包含任何错误信息,即为仅使用内置TFS控件提交工作项的情况下提供了有用的信息。
如何获得类似于“新建Bug 1:TF200012:字段'Title'不能为空”的错误提示?
为了更好地理解,请参见图片。
我正在使用VS2010 SP1中文版,错误描述如上所译。
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();
}
field.Status.ToString()
对我很有用,这将捕获错误消息。