TFS中Request Details工作项自定义Request Title字段不显示求助
这个问题的核心原因是:TFS工作项的标题栏(就是你看到的New Request Details 3*:那一行)默认和系统内置的System.Title字段绑定,你的自定义字段SAM.OI.Requesttitle并没有关联到这个控件,所以输入的内容不会显示在这里。要解决这个问题,你需要修改Request Details工作项类型(WIT)的定义,把标题控件的绑定替换成你的自定义字段引用名,具体步骤如下:
步骤1:导出Request Details的WIT定义文件
首先,使用witadmin工具导出当前的Request Details工作项类型定义。打开命令提示符(建议以管理员身份运行),执行以下命令(记得替换成你自己的TFS服务器地址、集合名和项目名):
witadmin exportwitd /collection:http://你的TFS服务器地址:8080/tfs/你的集合名 /p:你的项目名 /n:"Request Details" /f:C:\temp\RequestDetails.xml
这个命令会把定义文件导出到C:\temp目录下,你可以根据需求修改存储路径。
步骤2:修改XML定义文件中的标题控件绑定
打开刚才导出的RequestDetails.xml文件,找到<Layout>节点下对应标题区域的<Control>元素。你要找的是Label属性为"New Request Details 3*:"的那一行,它当前的FieldName应该是System.Title,把它替换成你的自定义字段引用名SAM.OI.Requesttitle。
修改前的代码示例:
<Control Type="FieldControl" FieldName="System.Title" Label="New Request Details 3*:" LabelPosition="Left" />
修改后:
<Control Type="FieldControl" FieldName="SAM.OI.Requesttitle" Label="New Request Details 3*:" LabelPosition="Left" />
保存修改后的XML文件。
步骤3:导入修改后的WIT定义文件
回到命令提示符,执行以下命令导入修改后的定义文件(同样替换成你的TFS信息和文件路径):
witadmin importwitd /collection:http://你的TFS服务器地址:8080/tfs/你的集合名 /p:你的项目名 /f:C:\temp\RequestDetails.xml
步骤4:验证修改效果
刷新TFS网页界面,或者重启你的TFS客户端(如果使用Visual Studio),然后创建一个新的Request Details工作项。现在你在自定义的Request Title字段中输入内容,就能看到它显示在New Request Details 3*:的右侧了,和Task类型工作项的标题显示效果一致。
注意事项
- 执行这些操作需要你拥有TFS项目的管理员权限,否则会报错。
- 修改前建议备份原有的WIT定义文件,万一修改出错可以快速恢复。
- 如果你的TFS是新版本的Azure DevOps Server,操作逻辑完全一致,只是
witadmin工具通常位于Visual Studio安装目录的Common7\IDE文件夹中。
内容的提问来源于stack exchange,提问作者Santosh Yakkala

