【问题标题】:Get all available TFS Fields for a Project Collection获取项目集合的所有可用 TFS 字段
【发布时间】:2016-10-10 17:26:14
【问题描述】:

我需要所有 TFS 项目集合的字段,而无需指定工作项。我已经将 TFS API 用于其他一些事情,但我没有找到任何相关内容。

我发现使用了 witadmin.exe listfields 命令,这正是我想要的,但是我如何在我的代码中将结果作为 集合 ?我对命令不是很有经验,我只需要代码中的字段 ID 和名称,以便我可以在 WPF 列表视图中显示它们。我是否需要在我的代码中调用 cmd.exe 或者 TFS API 是否有一个 扩展方法 ?我的“老师”说应该有一个,因为它可以用 witadmin.exe 完成。

【问题讨论】:

    标签: c# tfs command-prompt tfs-sdk tfs-process-template


    【解决方案1】:

    witadmin.exe 是一个 .NET 可执行文件,因此您可以在其上使用 Reflector、dotPeek 或 ilSpy 来查看 Microsoft 是如何实现它的。这似乎是您所追求的 sn-p:

    protected void InitFields()
    {
        if (this.fields == null)
        {
            FieldDefinitionCollection definitions = new FieldDefinitionCollection(this.Store, false);
            List<FieldDefinition> list = new List<FieldDefinition>(definitions.Count);
            Dictionary<string, FieldDefinition> dictionary = new Dictionary<string, FieldDefinition>(definitions.Count, this.Store.ServerStringComparer);
            for (int i = 0; i < definitions.Count; i++)
            {
                FieldDefinition item = definitions[i];
                if (!item.IsInternal)
                {
                    list.Add(item);
                    dictionary[item.ReferenceName] = item;
                    dictionary[item.Name] = item;
                }
            }
            list.Sort(new FieldComparer(this.Store.ServerStringComparer));
            this.fields = list;
            this.fieldsMap = dictionary;
        }
    }
    

    它将生成集合中所有可用字段的列表。

    this.StoreWorkItemStore 的一个实例。

    【讨论】:

    • 我明白了,我不认为你可以研究这样的可执行文件。 FieldComparer 到底是什么?我找不到那种类型。我可以得到 WorkItemStore,但不能得到 FieldComparer。
    • 我不知道,当我尝试构建项目时,它找不到类型或命名空间 FieldComparer。编译器如何找到它?我需要使用参考吗?
    • 我可以不忽略字典和 FieldComparer 并返回列表吗?
    • 我明白了,所以我真的不需要 FieldComparer,我想我可以用另一种方式对其进行排序。我试试这个,我想我可以用那个方法,非常感谢,如果有任何问题我会再次评论!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-21
    • 2013-09-22
    • 2019-09-08
    • 2020-09-17
    相关资源
    最近更新 更多