【问题标题】:How to get the TFS workitem validation error message by code?如何通过代码获取 TFS 工作项验证错误消息?
【发布时间】:2014-04-30 17:39:08
【问题描述】:

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

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

为了更好的理解,请看图。
我用的是VS2010 SP1中文,错误描述翻译如上。

【问题讨论】:

    标签: c# validation tfs tfs-workitem


    【解决方案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,所以无法验证。 ^_^
      猜你喜欢
      • 2015-10-26
      • 2011-05-11
      • 2018-09-08
      • 2017-10-29
      • 2012-11-05
      • 1970-01-01
      • 2018-07-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多