演练:管理工作项类型中的字段

更新:2007 年 11 月

在本演练中,您将查看、重命名和删除由 Team Foundation Server 中的工作项类型使用的字段。字段可在团队项目中的许多工作项类型中存在。

本节包含下列过程:

  • 查看字段   在此过程中,您将输出并查看工作项类型的字段。

  • 重命名字段   在此过程中,您将更改字段名称,并查看所做更改在表单中的何处体现。

  • 删除字段   在此过程中,您将删除在前面的过程中添加到工作项窗体的一个字段。

先决条件

完成演练:对工作项类型进行基本自定义演练:对工作项类型进行高级自定义中的步骤。

如果您可以建立与 Team Foundation Server 的连接,并且拥有相应的权限,就可以通过命令提示窗口、批处理文件或脚本文件管理工作项类型中的字段。为此,您必须使用“Visual Studio 2008 命令提示”实用工具,或者通过使用下面的示例中所述的 vsvars32 在您当前的命令提示中设置多个环境变量。有关加入团队项目的更多信息,请参见演练:加入团队项目

在命令提示下启用 Team Foundation 命令

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

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

必需的权限

若要执行此过程,您必须是“Team Foundation Administrators”组的成员或项目的“Project Administrators”组的成员。有关更多信息,请参见 Team Foundation Server 权限

查看字段

查看字段

  1. 打开一个 Visual Studio 命令提示窗口。

  2. 在命令提示符处键入以下命令并按 Enter,将 Team Foundation Server 中定义的所有字段输出到文本文件。

  3. witfields view /s:"Team Foundation Server 名称"

    这将显示字段列表,其中包含以下信息:

    字段:

    字段的引用名称。

    名称:

    字段的友好名称。

    类型:

    字段的数据类型。

    可报告为:

    字段的报告设置。

    使用:

    使用此字段的团队项目和字段在其中显示的工作项类型。

重命名字段

重命名字段

  1. 在 Visual Studio 命令提示符处键入以下命令并按 Enter。

    witfields rename /s:"Team Foundation Server 名称" Microsoft.VSTS.Common.Rank Importance

    此命令将“Rank”字段重命名为“Importance”。

  2. 在确认提示符下,键入 y 并按 Enter。请等待,直到收到以下消息:

    Field renamed.

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

    请等待几秒钟,直到所有的节点加载完毕。正在加载中的节点显示“正在工作”。

  4. 右击“工作项”节点,然后选择“添加查询”创建一个新查询。

  5. 单击标签为“单击此处可添加一条子句”的区域添加一个新行。然后选中空白的“字段”单元格。在单元格中键入“Rank”。注意显示在结果列表上方的以下消息。该消息指示无法找到“Rank”。

    运行查询以查看查询结果。TF51005: 该查询引用了不存在的字段。该错误是由 <<Rank>> 引起的。

  6. 从“字段”单元格中删除“Rank”值,然后在单元格中键入“Importance”。

  7. 选择“运算符”单元格中的“<>”,然后在“值”单元格中键入“1”。

  8. 在“团队”菜单上单击“运行查询”。

  9. 右击结果中的任意一行并选择“列选项”。在“可用列”列表中向下滚动。注意,“Rank”字段已不存在,但存在“Importance”字段。

  10. 选中“可用列”框中的“Importance”,然后单击“添加所选列”按钮(“>”)。单击“确定”。

    可以看到,在查询生成器和结果列表中,Microsoft.VSTS.Common.Rank 的友好名称都已从“Rank”重命名为“Importance”。

  11. 单击“关闭”关闭查询。提示您保存查询时,请单击“否”。

  12. 新建“Special Task”工作项。为此,请右击“工作项”节点,指向“添加工作项”,然后单击“SpecialTask”。

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

  13. 注意,在“状态”框中,重命名的字段“Rank”的标签并未更改。这是因为工作项窗体上的字段标签针对的是父级团队项目,与刚才指定的服务器范围的字段名称无关。

    说明:

    有关如何更改工作项窗体中的字段标签的更多信息,请参见演练:对工作项类型进行高级自定义中的“自定义字段标签”过程。

  14. 单击“关闭”关闭新的“Special Task”。提示您保存工作项时,请单击“否”。

删除字段

前提条件:您已经完成了演练:对工作项类型进行基本自定义中的“添加字段”过程。

删除字段

  1. 尝试删除在“添加字段”过程中添加的“Category”字段。为此,请在 Visual Studio 命令提示符处键入以下命令,然后按 Enter。

    witfields delete /s:"Team Foundation Server 名称" MyCompany.MyProcess.Category

    返回的错误消息指出该字段正由某个团队项目使用,因此无法删除。

  2. 键入以下命令并按 Enter。

    witexport /f "文件路径\specialtask.xml" /t "Team Foundation Server 名称" /p WITLab /n "Special Task"

    这会将“Special Task”工作项类型定义从 Team Foundation Server 重新导出到一个 XML 文件中,包括 Microsoft.VSTS.Common.Rank 字段的新定义,该定义使用在重命名字段过程中重命名后的新友好名称。

    说明:

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

    导出操作完成时您会收到以下消息:

    Work item type export complete.

  3. 在 Visual Studio 中单击“文件”,指向“打开”,然后单击“文件”。

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

    说明:

    如果 SpecialTask.xml 已打开,您可能会收到一条询问是否要在 Visual Studio 中重新加载该文件的消息。单击“是”重新加载该文件。

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

  5. 单击 specialtask.xml 文件,然后单击“打开”。

  6. 如果提示您有关行尾的信息,则单击“否”。

  7. 找到并删除“Category”字段的定义,如以下 XML 中所示:

    <FIELD name="Category" refname="MyCompany.MyProcess.Category" type="String" reportable="dimension"><HELPTEXT>Describes the category to which this special task belongs.</HELPTEXT>  <WHEN field="Microsoft.VSTS.Common.Discipline" value="Business Analyst">    <ALLOWEDVALUES>      <LISTITEM value="Planning" />      <LISTITEM value="Review" />    </ALLOWEDVALUES>  </WHEN>  <WHENNOT field="Microsoft.VSTS.Common.Discipline" value="Business Analyst">    <ALLOWEDVALUES>      <LISTITEM value="Process Management" />      <LISTITEM value="Planning" />      <LISTITEM value="Execution" />      <LISTITEM value="Review" />    </ALLOWEDVALUES>  </WHENNOT></FIELD>
    
  8. 在 <Layout> 部分,找到下面的 XML,然后删除突出显示的部分以移除该字段:

    <Group Label="Classification">
      <Column PercentWidth="50">    <Group>
          <Column PercentWidth="100">
            <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" />
            <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" />
          </Column>
        </Group>  </Column>  <Column PercentWidth="50">    <Group>      <Column PercentWidth="100">        <Control Type="FieldControl" FieldName="MyCompany.MyProcess.Category" Label="Category" LabelPosition="Left" />      </Column>    </Group>  </Column>
    </Group>
    
  9. 单击“保存”将更改保存到该 XML 文件。

  10. 将更改后的“Special Task”工作项类型导入 Team Foundation Server。为此,请在 Visual Studio 命令提示符处键入以下命令,然后按 Enter:

    witimport /f "文件路径\specialtask.xml" /t "Team Foundation Server 名称" /p WITLab

    这会将 specialtask 工作项类型导入 Team Foundation Server。导入操作完成时您会收到以下消息:

    Work item type import complete.

  11. 在命令提示符下键入以下命令并按 Enter,验证“Category”字段是否已不再由任何工作项类型使用。

    witfields view /s:"Team Foundation Server 名称" MyCompany.MyProcess.Category

    witfields 工具显示“Category”为“未使用”。

    Field: MyCompany.MyProcess.Category

    Name: Category

    Type: String

    Reportable As: dimension

    Use: Not In Use

  12. 现在,任何工作项类型都不再使用“Category”字段,请在命令提示符处键入以下文本并按 Enter,将此字段从 Team Foundation Server 中永久删除。在确认提示处输入 y,完成此步骤。

    witfields delete /s:"Team Foundation Server 名称" MyCompany.MyProcess.Category

请参见

任务

演练:对工作项类型进行基本自定义

演练:对工作项类型进行高级自定义

其他资源

自定义工作项类型