我已经知道 WorkItem.Validate
方法可以获得此工作项中无效字段的 ArrayList
( msdn )。
但它们似乎只包含无效字段和名称,但不包含任何错误消息,即为什么它们无效,这对于不使用内置 TFS 控件提交工作项的情况很有用。
如何获得错误提示,如“新错误 1:TF200012:字段‘标题’不能为空。”?
为了更好的理解,请看图。
我用的是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();
}
关于c# - 如何通过代码获取TFS工作项验证错误信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22591204/