如何:使用全局列表

更新:2007 年 11 月

您可以通过将列表项包括在一个或多个 <GLOBALLIST> 元素中,从而在多个工作项类型之间共享这些列表项。

在定义工作项类型时,您可能会发现一些字段共享一组相同的值。通常,这组值跨多个工作项类型,甚至跨多个团队项目。其中的某些列表中可能会经常更改;例如每夜生成的内部版本号。要求管理员经常更新分布在许多位置中的这些列表不是一个理想的办法。全局列表可以帮助您解决此问题。全局列表不得包含项目范围的组,因为全局列表与项目具有不同的范围。

下面的过程告诉您如何为任务工作项类型创建一个名为 Disciplines 的全局列表。

必需的权限

若要导出全局列表,您必须是“Team Foundation Valid Users”组的成员。若要导入全局列表,您必须是“Team Foundation Administrators”组的成员或者项目的“Project Administrators”组的成员。有关更多信息,请参见 Team Foundation Server 权限

在命令提示符下使用 Team Foundation 命令

  • 单击“开始”,单击“所有程序”,指向“Microsoft Visual Studio 2008”,指向“Visual Studio Tools”,然后单击“Visual Studio 2008 命令提示”。

    也可运行 Visual Studio 安装路径(通常为“驱动器号:\Program Files\Microsoft Visual Studio 9.0\Common7\Tools”)中的 vsvars32

    说明:

    必须安装 Visual Studio 2008 才能使用 Visual Studio 2008 命令提示符窗口。

将全局列表添加到 Team Foundation Server

  1. 在 Visual Studio 中,单击“文件”,单击“新建”,再单击“文件”。

  2. 在“类别”窗格中单击“常规”。

  3. 在“模板”窗格中,单击“XML 文件”,然后单击“打开”。

  4. 在此新文件中,添加下例中突出显示的以下 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>
    
  5. 在工具栏上单击“保存”将更改保存到该 XML 文件。

    随即出现“另存文件为”对话框。

    在“文件另存为”对话框中的“保存位置”下面,浏览到要将该文件保存到的位置。命名该文件,再单击“保存”。

    说明:

    如果您运行的是 Windows Vista,则可能无权访问某些文件夹。如果您尝试将全局列表保存到您无权访问的位置,则注册表虚拟化技术将自动重定向该文件,并将该文件保存到虚拟存储区。有关更多信息,请参见 https://go.microsoft.com/fwlink/?LinkId=92325https://go.microsoft.com/fwlink/?LinkId=92323。若要避免此重定向操作,可以将该文件保存到您有权访问的位置。

  6. 打开 Visual Studio 2008 命令提示窗口。

  7. 键入以下命令并按 Enter,将此全局列表导入 Team Foundation Server:

    glimport /f "文件路径" /t "Team Foundation Server 名称"

    说明:

    由于全局列表对 Team Foundation Server 有全局影响,因此不要在运行 glimport 命令时指定团队项目。有关更多信息,请参见 glimport

  8. 在命令提示符处键入下面的命令并按 Enter,显示 Team Foundation Server 中的全局列表:

    glexport /t "<Team Foundation Server 名称>"

    注意,此时将显示新添加的列表。

在工作项类型中使用全局列表

  1. 运行 witexport 导出 Task.xml。有关更多信息,请参见如何:从现有项目中导出工作项类型

  2. 在 Visual Studio 中,单击“文件”,单击“打开”,再单击“文件”。

    将显示“打开文件”对话框。

  3. 在“查找范围”之下,移动到您导出该文件的位置。

    如果要修改工作项类型以自定义过程模板,移动到您下载该过程模板的位置。

    说明:

    如果您运行的是 Windows Vista,则可能无权访问某些文件夹。如果您尝试将工作项类型导出到您无权访问的位置,则注册表虚拟化技术将自动重定向导出的文件,并将其保存到虚拟存储区。有关更多信息,请参见 https://go.microsoft.com/fwlink/?LinkId=92325https://go.microsoft.com/fwlink/?LinkId=92323。若要避免此重定向操作,可以将该文件导出到您有权访问的位置。

  4. 选择 Task.xml,然后单击“打开”。出现有关行尾的提示时,单击“否”。

  5. 找到 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>
    
  6. 移除下例中突出显示的以下 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>
    
  7. 通过向文件中添加以下 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>
    
  8. 在工具栏上单击“保存”将更改保存到该 XML 文件中。

  9. 将更改后的任务导入 Team Foundation Server。有关更多信息,请参见如何:将工作项类型导入现有项目

  10. 在 Visual Studio 的团队资源管理器窗口中,单击“刷新”从服务器下载最新的更新。

    这些更新包括您刚导入的更改。请等待几秒钟,直到所有的节点加载完毕。正在加载中的节点标记为“正在处理”。

  11. 创建新任务。为此,右击“工作项”节点,指向“添加工作项”,然后单击“任务”。

    此任务是从您已更改并导入的工作项类型创建的。

  12. 选择新工作项窗体上的“准则”框。

    注意,允许值现在从全局“准则”列表中填充。

  13. 单击“关闭”关闭新任务。提示保存任务时,请单击“否”。

不需要编辑和导入工作项类型 XML 文件将值添加到字段

  1. 若要将值添加到“准则”字段,而又不编辑和重新导入工作项类型定义文件,请使用 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>
    
  2. 在工具栏上单击“保存”将更改保存到该 XML 文件中。

  3. 打开 Visual Studio 命令提示窗口。

  4. 在命令提示符处键入以下命令并按 Enter,将此全局列表导入 Team Foundation Server。

    glimport /f "文件路径" /t "Team Foundation Server 名称"

  5. 在 团队资源管理器 的团队资源管理器窗口中,单击“刷新”从服务器下载最新的更新。

    这些更新包括您刚导入的更改。请等待几秒钟,直到所有的节点加载完毕。正在加载中的节点标记为“正在处理”。

  6. 创建新任务。为此,右击“工作项”节点,指向“添加工作项”,然后单击“任务”。

  7. 选择“准则”框。

    注意,全局列表中的新值现在显示为框中的选项。

    说明:

    您可以引用全局列表,以使用在几个工作项类型之间或在团队项目之间共享的允许值。这样只需对全局列表进行一次更新,便可自动更新引用该列表的所有工作项类型的允许值。

  8. 单击“关闭”关闭新任务。提示保存任务时,请单击“否”。

请参见

概念

全局列表

参考

GLOBALLISTS 元素(全局列表架构)

GLOBALLISTS 元素(工作项类型定义架构)

其他资源

工作项类型定义架构