通过将列表项包括在一个或多个 GLOBALLIST 元素中,可以在多个工作项类型之间共享这些列表项。
在定义工作项类型时,您可能会发现一些字段共享一组相同的值。 通常,这组值跨多个工作项类型,甚至跨多个团队项目。 这些列表中的一些列表可能会经常发生更改,例如夜间生成的内部版本号(要求管理员经常在许多位置上更新这些列表)。 全局列表可以帮助您解决此问题。
提示
全局列表不得包含项目范围的组,因为全局列表与项目具有不同的范围。 全局列表是为项目集合进行管理的。
以下过程可向您说明如何为任务工作项类型创建一个名为 Disciplines 的全局列表。
所需权限
若要导出全局列表,您必须是项目集合的**“Team Foundation Valid Users”组的成员。 若要导入全局列表,您必须是“Team Foundation Administrators (Team Foundation 管理员)”组的成员,或者是项目集合的“Project Administrators (项目管理员)”**组的成员。 有关更多信息,请参见 Team Foundation Server 权限。
将全局列表添加到团队项目集合
- 在 Visual Studio 中,单击**“文件”,单击“新建”,再单击“文件”**。 
- 在**“类别”窗格中单击“常规”**。 
- 在**“模板”窗格中,单击“XML 文件”,然后单击“打开”**。 
- 向此新文件添加下面示例中突出显示的 XML。 此例定义了组织相关专业的全局列表。 - <?xml version="1.0" encoding="utf-8"?> <gl:GLOBALLISTS xmlns:gl="https://schemas.microsoft.com/VisualStudio/2005/workitemtracking/globallists"> <GLOBALLIST name="Disciplines"> <LISTITEM value="Architecture" /> <LISTITEM value="Requirements" /> <LISTITEM value="Development" /> <LISTITEM value="Release Management" /> <LISTITEM value="Project Management" /> <LISTITEM value="Test" /> </GLOBALLIST> </gl:GLOBALLISTS>
- 在工具栏上单击**“保存”**以将更改保存到 XML 文件中。 - 将出现**“另存文件为”**对话框。 
- 在**“文件另存为”对话框中的“保存位置”下面,浏览到要将该文件保存到的位置。 命名该文件,再单击“保存”**。 - 提示 - 如果您运行的是 Windows Vista,则可能不具有用于访问某些文件夹的权限集。 如果尝试将工作项类型导出到您没有权限集的位置,注册表虚拟化技术将自动重定向导出的文件,并将其保存到虚拟存储区。 若要避免此重定向操作,可以将该文件导出到您拥有权限集的位置。 有关注册表虚拟化的更多信息,请参见 Microsoft 网站:Registry Virtualization(注册表虚拟化)和 Windows Vista 中常见的文件和注册表虚拟化问题。 
- 打开 Visual Studio 2010 命令提示窗口。 
- 通过键入下面的命令并按 Enter,将此全局列表导入项目集合: - witadmin importgloballist /collection:http://服务器名称:端口/虚拟目录名称/连接名称 /f:"文件路径" - 有关更多信息,请参见管理工作项类型的全局列表 [witadmin]。 
- 通过在命令提示符处键入下面的命令并按 Enter,显示 Team Foundation Server 上的全局列表: - witadmin exportgloballist /collection:http://服务器名称:端口/虚拟目录名称/集合名称 - 注意,此时将显示新添加的列表。 
在工作项类型中使用全局列表
- 运行 witadmin exportwitd 以导出 Task.xml。 有关更多信息,请参见自定义和管理工作项类型 [witadmin]。 
- 在 Visual Studio 中,单击**“文件”,单击“打开”,再单击“文件”**。 - 将显示**“打开文件”**对话框。 
- 在**“查找范围”**之下,移动到您导出该文件的位置。 - 如果要修改工作项类型以自定义过程模板,则请移动到下载该过程模板的位置。 - 提示 - 如果运行的是 Windows Vista,则您可能不具有用于访问某些文件夹的访问权限集。 如果尝试将工作项类型导出到您没有权限集的位置,注册表虚拟化技术将自动重定向导出的文件,并将其保存到虚拟存储区。 若要避免此重定向操作,可以将该文件导出到您拥有权限集的位置。 有关注册表虚拟化的更多信息,请参见 Microsoft 网站:Registry Virtualization(注册表虚拟化)和 Windows Vista 中常见的文件和注册表虚拟化问题。 
- 选择 Task.xml,然后单击**“打开”。 出现有关行尾的提示时,单击“否”**。 
- 找到 XML 文件中定义**“专业”**字段的以下节: - <FIELD name="Discipline" refname="Microsoft.VSTS.Common.Discipline" type="String" reportable="dimension"> <HELPTEXT>The discipline to which the task belongs</HELPTEXT> <ALLOWEDVALUES expanditems="true"> <LISTITEM value="Development" /> <LISTITEM value="Test" /> <LISTITEM value="Project Management" /> <LISTITEM value="Requirements" /> <LISTITEM value="Architecture" /> <LISTITEM value="Release Management" /> </ALLOWEDVALUES> </FIELD>
- 通过移除下面示例中突出显示的 XML,删除允许值的列表: - <FIELD name="Discipline" refname="Microsoft.VSTS.Common.Discipline" type="String"> <HELPTEXT>The discipline to which the task belongs</HELPTEXT> <ALLOWEDVALUES expanditems="true"> <LISTITEM value="Development" /> <LISTITEM value="Test" /> <LISTITEM value="Project Management" /> <LISTITEM value="Requirements" /> <LISTITEM value="Architecture" /> <LISTITEM value="Release Management" /> </ALLOWEDVALUES> </FIELD>
- 通过向文件中添加以下 XML,将**“专业”**字段的允许值设置为前面定义的全局列表: - <FIELD name="Discipline" refname="Microsoft.VSTS.Common.Discipline" type="String"> <HELPTEXT>The discipline to which the task belongs</HELPTEXT> <ALLOWEDVALUES> <GLOBALLIST name="Disciplines" /> </ALLOWEDVALUES> </FIELD>
- 在工具栏上单击**“保存”**以将更改保存到 XML 文件中。 
- 将更改后的任务导入 Team Foundation Server。 有关更多信息,请参见自定义和管理工作项类型 [witadmin]。 
- 在 Visual Studio 的团队资源管理器窗口中,单击**“刷新”**从服务器下载最新的更新。 - 这些更新包括您刚导入的更改。 请等待几秒钟,直到所有的节点加载完毕。 正在加载中的节点标记为**“正在处理”**。 
- 创建任务。 为此,右击**“工作项”节点,指向“添加工作项”,然后单击“任务”**。 - 此任务是从您已更改并导入的工作项类型创建的。 
- 选择新工作项窗体上的**“专业”**框。 - 注意,允许值现在从全局“专业”列表中填充。 
- 单击**“关闭”关闭新任务。 提示保存任务时,请单击“否”**。 
不需要编辑和导入工作项类型 XML 文件将值添加到字段
- 若要将值添加到**“专业”**字段,而不编辑和重新导入工作项类型定义文件,请使用 Visual Studio 打开 disciplines.xml 文件,然后添加下面示例中突出显示的新值: - <GLOBALLIST name="Disciplines"> <LISTITEM value="Architecture" /> <LISTITEM value="Requirements" /> <LISTITEM value="Development" /> <LISTITEM value="Release Management" /> <LISTITEM value="Project Management" /> <LISTITEM value="Test" /> <LISTITEM value="Marketing and Sales" /> <LISTITEM value="General Management" /> <LISTITEM value="Other" /> </GLOBALLIST>
- 在工具栏上单击**“保存”**以将更改保存到 XML 文件中。 
- 打开 Visual Studio 命令提示窗口。 
- 通过在命令提示符下键入下面的命令并按 Enter,将此全局列表导入项目集合: - witadmin importgloballist /collection:http://服务器名称:端口/虚拟目录名称/连接名称 /f:"文件路径" 
- 在团队资源管理器中单击**“刷新”**,从服务器下载最新的更新。 - 这些更新包括您刚导入的更改。 请等待几秒钟,直到所有的节点加载完毕。 正在加载中的节点标记为**“正在处理”**。 
- 创建任务。 为此,右击**“工作项”节点,指向“添加工作项”,然后单击“任务”**。 
- 选择**“专业”**框。 - 注意,全局列表中的新值现在显示为框中的选项。 - 提示 - 您可以引用在多个工作项类型之间或在团队项目之间共享的允许值的全局列表。 这样只需对全局列表进行一次更新,便可自动更新引用该列表的所有工作项类型的允许值。 
- 单击**“关闭”关闭新任务。 提示保存任务时,请单击“否”**。 
请参见
参考
GLOBALLISTS Element (Work Item Type Definition Schema)