演练:管理工作项类型中的字段
更新: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 权限。
查看字段
查看字段
打开一个 Visual Studio 命令提示窗口。
在命令提示符处键入以下命令并按 Enter,将 Team Foundation Server 中定义的所有字段输出到文本文件。
witfields view /s:"Team Foundation Server 名称"
这将显示字段列表,其中包含以下信息:
字段:
字段的引用名称。
名称:
字段的友好名称。
类型:
字段的数据类型。
可报告为:
字段的报告设置。
使用:
使用此字段的团队项目和字段在其中显示的工作项类型。
重命名字段
重命名字段
在 Visual Studio 命令提示符处键入以下命令并按 Enter。
witfields rename /s:"Team Foundation Server 名称" Microsoft.VSTS.Common.Rank Importance
此命令将“Rank”字段重命名为“Importance”。
在确认提示符下,键入 y 并按 Enter。请等待,直到收到以下消息:
Field renamed.
在 Visual Studio 的团队资源管理器窗口中,单击“刷新”从服务器下载最新的更新。
请等待几秒钟,直到所有的节点加载完毕。正在加载中的节点显示“正在工作”。
右击“工作项”节点,然后选择“添加查询”创建一个新查询。
单击标签为“单击此处可添加一条子句”的区域添加一个新行。然后选中空白的“字段”单元格。在单元格中键入“Rank”。注意显示在结果列表上方的以下消息。该消息指示无法找到“Rank”。
运行查询以查看查询结果。TF51005: 该查询引用了不存在的字段。该错误是由 <<Rank>> 引起的。
从“字段”单元格中删除“Rank”值,然后在单元格中键入“Importance”。
选择“运算符”单元格中的“<>”,然后在“值”单元格中键入“1”。
在“团队”菜单上单击“运行查询”。
右击结果中的任意一行并选择“列选项”。在“可用列”列表中向下滚动。注意,“Rank”字段已不存在,但存在“Importance”字段。
选中“可用列”框中的“Importance”,然后单击“添加所选列”按钮(“>”)。单击“确定”。
可以看到,在查询生成器和结果列表中,Microsoft.VSTS.Common.Rank 的友好名称都已从“Rank”重命名为“Importance”。
单击“关闭”关闭查询。提示您保存查询时,请单击“否”。
新建“Special Task”工作项。为此,请右击“工作项”节点,指向“添加工作项”,然后单击“SpecialTask”。
此工作项是从您已更改并导入的工作项类型创建的。
注意,在“状态”框中,重命名的字段“Rank”的标签并未更改。这是因为工作项窗体上的字段标签针对的是父级团队项目,与刚才指定的服务器范围的字段名称无关。
说明: 有关如何更改工作项窗体中的字段标签的更多信息,请参见演练:对工作项类型进行高级自定义中的“自定义字段标签”过程。
单击“关闭”关闭新的“Special Task”。提示您保存工作项时,请单击“否”。
删除字段
前提条件:您已经完成了演练:对工作项类型进行基本自定义中的“添加字段”过程。
删除字段
尝试删除在“添加字段”过程中添加的“Category”字段。为此,请在 Visual Studio 命令提示符处键入以下命令,然后按 Enter。
witfields delete /s:"Team Foundation Server 名称" MyCompany.MyProcess.Category
返回的错误消息指出该字段正由某个团队项目使用,因此无法删除。
键入以下命令并按 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=92325 和 https://go.microsoft.com/fwlink/?LinkId=92323。若要避免此重定向操作,可以将该文件导出到您有权访问的位置。
导出操作完成时您会收到以下消息:
Work item type export complete.
在 Visual Studio 中单击“文件”,指向“打开”,然后单击“文件”。
这将显示“打开文件”对话框。
说明: 如果 SpecialTask.xml 已打开,您可能会收到一条询问是否要在 Visual Studio 中重新加载该文件的消息。单击“是”重新加载该文件。
在“查找范围”之下,移动到您导出该文件的位置。
单击 specialtask.xml 文件,然后单击“打开”。
如果提示您有关行尾的信息,则单击“否”。
找到并删除“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>
在 <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>
单击“保存”将更改保存到该 XML 文件。
将更改后的“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.
在命令提示符下键入以下命令并按 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
现在,任何工作项类型都不再使用“Category”字段,请在命令提示符处键入以下文本并按 Enter,将此字段从 Team Foundation Server 中永久删除。在确认提示处输入 y,完成此步骤。
witfields delete /s:"Team Foundation Server 名称" MyCompany.MyProcess.Category