c# - 如何通过代码获取TFS工作项验证错误信息?

标签 c# validation tfs tfs-workitem

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

但它们似乎只包含无效字段和名称,但不包含任何错误消息,即为什么它们无效,这对于不使用内置 TFS 控件提交工作项的情况很有用。
如何获得错误提示,如“新错误 1:TF200012:字段‘标题’不能为空。”?

为了更好的理解,请看图。 msdn
我用的是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/

相关文章:

tfs - VS2015 使用 TFS2013 构建

c# - WCF 中的 System.AddIn

c# - 对第 3 方类的多态扩展

java - 根据输入值更改Java Validator的@Pattern Regex

tfs - 在哪里可以找到其他 TFS 2010 流程指南模板?

tfs - MSBuild/t :pack Nuget-Package has always the same Version

c# - 从 C# 应用程序运行 PowerShell 脚本

c# - WP8后退按钮后退两步

HTML5 验证错误 : body start tag seen but an element of the same type was already open

java - 类级约束验证错误使 Arjuna TwoPhaseCoordinator.beforeCompletion 失败