获取项目集合的所有可用TFS字段

时间:2016-10-10 08:38:45

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

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

我发现使用的是 witadmin.exe listfields 命令,它可以提供我想要的内容,但如何在我的代码中将结果作为集合 ?我对命令不是很熟悉,我只需要在代码中使用字段ID和名称,这样我就可以在WPF Listview中显示它们。我是否需要在我的代码中调用cmd.exe,或者 TFS API 是否有扩展方法?我的老师"说它应该有一个,因为它可以用witadmin.exe完成。

1 个答案:

答案 0 :(得分:1)

new TaskRegister().execute(txtEmail.getText().toString(), txtPassword1.getText().toString(), txtFirstName.getText().toString(), txtLastName.getText().toString());是.NET可执行文件,因此您可以在其上使用Reflector,dotPeek或ilSpy来查看Microsoft如何实现它。这似乎是你之后的片段:

witadmin.exe

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

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.Store的实例。